您好,登錄后才能下訂單哦!
本篇內容主要講解“Python怎么爬取上道網項目”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python怎么爬取上道網項目”吧!
獲取對應的公司名稱,保存文檔。
軟件:PyCharm
需要的庫:requests,fake_useragent,time
如何網頁訪問?
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-1.html http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-2.html http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-3.html http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-4.html
點擊下一頁時,每增加一頁p-{}.html自增加1,用{}代替變換的變量,再用for循環遍歷這網址,實現多個網址請求。
1. 定義一個class類繼承object,定義init方法繼承self,主函數main繼承self。導入需要的庫、請求地址。
import requests from lxml import etree from fake_useragent import UserAgent import time class Shangdao(object): def __init__(self): self.url = "http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html" #網站 def main(self): pass if __name__ == '__main__': Siper = Shangdao() Siper.main()
2. 隨機產生UserAgent,防止反爬。
for i in range(1, 50): self.headers = { 'User-Agent': ua.random, }
3. 發送請求 獲取響應, 頁面回調,方便下次請求。
def get_page(self, url): res = requests.get(url=url, headers=self.headers) html = res.content.decode("utf-8") return html
4. 獲取公司名稱,for遍歷。
def page_page(self, html): parse_html = etree.HTML(html) one = parse_html.xpath('//h3/a/text()') for i in one: print(i)
5. 寫入文檔。
f = open('公司.doc', 'a', encoding='utf-8') # 以'w'方式打開文件 f.write(str(i))
6. 調用方法,實現功能。
def main(self): stat = int(input("輸 入 開 始 (2開始):")) end = int(input("輸 入 結 束:")) for page in range(stat, end + 1): url = self.url.format(page) print(url) html = self.get_page(url) self.page_page(html) print("==================第%s頁爬取成功!!!!=====================" % page)
項目優化:
設置時間延時。
time.sleep(1.4)
點擊綠色小三角運行輸入起始頁,終止頁( 從0頁開始 )。
渠道公司名,結果顯示控制臺。
保存文檔。
到此,相信大家對“Python怎么爬取上道網項目”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。