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()') #獲取需要的數據
下面開始簡單介紹如何寫爬蟲。
爬蟲前,我們首先簡單明確兩點:
1. 爬蟲的網址;
2. 需要爬取的內容(數據)。
第一步,爬蟲的網址,這個…那就豆瓣吧,我也不知道為啥爬蟲教程都要拿豆瓣開刀–!
第二部,需要爬取的內容(數據)。
這也正是上面6行代碼中的最后一行,也可能是新手覺得最難的地方了。代碼的這個部分就是獲取數據。
'//td[@class="title"]//a/text()'
1
下面來一步一步操作如何寫出上面的那行代碼
1. 打開網址https://movie.douban.com/,然后按一下F12。
2. 鼠標點擊圖中的按鈕。
鼠標點擊需要爬取的數據,這里我們點“看不見的客人”,如圖所示。
看到大紅色框框里的東西,是不是和我們最“重要”的代碼有很多相似的地方。
再看來最后一行代碼中最“重要”的部分。
‘//td[@class=”title”]//a/text()’
//td :這個相當於指定是大目錄;
[@class=”title”]:這個相當於指定的小目錄;
//a :這個相當於最小的目錄;
/text():這個是提取其中的數據。
爬蟲介紹結束,看完你也該試試手了。
試試爬“即將上映”
這個只需將最后一行代碼改成
result=tree.xpath('//li[@class="title"]//a/text()')
如圖所示“即將上映”的電影就被你爬下來了。
是不是感覺爬蟲很簡單,已經會了。
現實中,在爬蟲乎面臨很多問題,比如:
1. 頁面規則不統一;
2. 爬下來的數據處理;
3. 反爬蟲機制。
還有很多類似的各種問題,想要深入變成大神,還是需要一步一步來,5分鍾變大神是不可能啦~~!
上面6行代碼包括的內容有python requests包,html知識,XPATH等。網上資料很多,這里就不做介紹了。