1. 程式人生 > 其它 >爬取搜狗指定詞條的搜尋結果

爬取搜狗指定詞條的搜尋結果

技術標籤:爬蟲專欄

首先用搜狗搜尋波曉張
搜尋波曉張發現後面的引數很多,這麼多引數是否都是我們需要使用的呢?
發現query=波曉張這個內容才是對應我們需要使用的,後面無用的引數我們先刪除掉,然後判斷這個url是否是我們需要的。
去除後面的引數進行重新的搜尋此時我們需要將前面的sogou.com/web的對應的引數和後面的query=波曉張切割開來,提取出後面相應的引數,然後分別傳入get的方法之中,對應的程式碼如下:

#UA:User-Agent{請求載體的身份標識}
#UA偽裝:入口網站的伺服器會檢測對應請求的載體身份標識
#如果檢測到請求的載體身份標識為某一款瀏覽器,說明該請求是一個正常的請求
#但是如果檢測到請求的檢測身份標識不是基於某一款瀏覽器的,則認為是不正常的
#請求(爬蟲),則伺服器端就很有可能拒絕該次請求 #UA偽裝:讓爬蟲對應的請求載體身份標識偽裝成某一款瀏覽器 import requests #第一步:設定url headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36' } url = 'https://www.sogou.com/web' #處理url攜帶的引數:封裝到字典中,web後面的?號是否保留都可以 kw = input
('enter a word:') param = { 'query':kw } #只有一組引數的時候作為字典的鍵值,如果我們有多組 #引數的時候,多組引數都可以作為相應字典的鍵值 #第二步:發起請求 #對指定的url發起的請求對應的url是攜帶引數的, #並且請求過程中處理了引數 response = requests.get(url=url,params=param,headers=headers) #get(url,params,kwargs) #在域名後面放入了params,相當於動態拼接出了引數 page_text = response.text fileName = kw+
'.html' with open(fileName,'w',encoding='utf-8') as fp: fp.write(page_text) print(fileName,'儲存成功!!!')