天天看點

簡單幾步教你如何寫爬蟲

對于初入爬蟲行業的新手小白來說,如何簡單快速的實作爬蟲對于自身經驗提升也是大有裨益的。

為了節約時間,我就不浪費大家的時間了,直接就開始案例講解吧。

import requests

from lxml import html

url='https://movie.douban.com/' #需要爬資料的網址

page=requests.Session().get(url)

tree=html.fromstring(page.text)

result=tree.xpath('//td[@class="title"]//a/text()') #擷取需要的資料      

需要請求時添加header了

url = "https://movie.douban.com/"
    header = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
    }
    page = requests.Session().get(url, headers=header)
    tree = html.fromstring(page.text)
    result = tree.xpath('//td[@class="title"]//a/text()')
    print(result)      

我們來看下擷取的資料

print(result)
['看不見的客人',
 '斯隆女士',
 '美女與野獸',
 '契克',
 '分裂',
 '莎士比亞外傳',
 '八月',
 '休斯頓,我們有麻煩了!',
 '古城一線牽',
 '被操縱的城市']      

爬蟲結束~~~有木有滿滿成就感!!! 

以上代碼爬取的是這個頁面,紅色框框裡面的資料,也就是豆瓣電影本周口碑榜。

簡單幾步教你如何寫爬蟲

下面開始簡單介紹如何寫爬蟲

爬蟲前,我們首先簡單明确兩點: 

1. 爬蟲的網址; 

2. 需要爬取的内容(資料)

第一步,爬蟲的網址,這個…那就豆瓣吧,我也不知道為啥爬蟲教程都要拿豆瓣開刀–! 

第二部,需要爬取的内容(資料)。 

這也正是上面6行代碼中的最後一行,也可能是新手覺得最難的地方了。代碼的這個部分就是擷取資料。

'//td[@class="title"]//a/text()'      

下面來一步一步操作如何寫出上面的那行代碼 

1. 打開網址https://movie.douban.com/,然後按一下F12。 

2. 滑鼠點選圖中的按鈕。 

簡單幾步教你如何寫爬蟲

1.滑鼠點選需要爬取的資料,這裡我們點“看不見的客人”,如圖所示。 

簡單幾步教你如何寫爬蟲

看到大紅色框框裡的東西,是不是和我們最“重要”的代碼有很多相似的地方。 

再看來最後一行代碼中最“重要”的部分。 

‘//td[@class=”title”]//a/text()’ 

//td :這個相當于指定是大目錄;

[@class=”title”]:這個相當于指定的小目錄;

//a :這個相當于最小的目錄;

/text():這個是提取其中的資料。

爬蟲介紹結束,看完你也該試試手了。 

試試爬“即将上映” 

result=tree.xpath('//li[@class="title"]//a/text()')      

繼續閱讀