阅读OReilly.Web.Scraping.with.Python.2015.6笔记---Crawl

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阅读OReilly.Web.Scraping.with.Python.2015.6笔记---Crawl相关的知识,希望对你有一定的参考价值。

阅读OReilly.Web.Scraping.with.Python.2015.6笔记---Crawl

1.函数调用它自身,这样就形成了一个循环,一环套一环:

from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
pages = set()
def getLinks(pageUrl):
    global pages
    html = urlopen("http://en.wikipedia.org"+pageUrl)
    bsObj = BeautifulSoup(html,"lxml")
    try:
        print(bsObj.h1.get_text())
        print(bsObj.find(id ="mw-content-text").findAll("p")[0])                     //找到网页中 id=mw-content-text,然后在这个基础上查找"p"这个标签的内容 [0]则代表选择第0个
        print(bsObj.find(id="ca-edit").find("span").find("a").attrs[‘href‘])         //找到id=ca-edit里面的span标签里面的a标签里面的href的值
    except AttributeError:
        print("This page is missing something! No worries though!")
        
    for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")):
        if ‘href‘ in link.attrs:
            if link.attrs[‘href‘] not in pages:
                #We have encountered a new page
                newPage = link.attrs[‘href‘]
                print(newPage)
                pages.add(newPage)
                getLinks(newPage)

getLinks("")

 2.对网址进行处理,通过"/"对网址中的字符进行分割

def splitAddress(address):
    addressParts = address.replace("http://", "").split("/")
    return addressParts

addr = splitAddress("https://hao.360.cn/?a1004")
print(addr)

运行结果为:

runfile(‘C:/Users/user/Desktop/chensimin.py‘, wdir=‘C:/Users/user/Desktop‘)
[‘https:‘, ‘‘, ‘hao.360.cn‘, ‘?a1004‘]                   //两个//之间没有内容,所用用‘‘表示

  

def splitAddress(address):
    addressParts = address.replace("http://", "").split("/")
    return addressParts

addr = splitAddress("http://www.autohome.com.cn/wuhan/#pvareaid=100519")
print(addr)

运行结果为:

runfile(‘C:/Users/user/Desktop/chensimin.py‘, wdir=‘C:/Users/user/Desktop‘)
[‘www.autohome.com.cn‘, ‘wuhan‘, ‘#pvareaid=100519‘]

 

以上是关于阅读OReilly.Web.Scraping.with.Python.2015.6笔记---Crawl的主要内容,如果未能解决你的问题,请参考以下文章

阅读目录——更新ing

《快速阅读术》--如何养成阅读的习惯

课外阅读课外阅读Read001-Read100

《如何阅读一本书》读书笔记

《如何阅读一本书》读书笔记

《如何阅读一本书》读书笔记