對于初入爬蟲行業的新手小白來說,如何簡單快速的實作爬蟲對于自身經驗提升也是大有裨益的。
為了節約時間,我就不浪費大家的時間了,直接就開始案例講解吧。
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()')