1. 程式人生 > 實用技巧 >【Python爬蟲】:爬取(谷歌/百度/搜狗)的搜尋結果

【Python爬蟲】:爬取(谷歌/百度/搜狗)的搜尋結果

步驟如下:
1.首先匯入爬蟲的package:requests

2.使用UA偽裝進行反反爬蟲,將爬蟲偽裝成一個瀏覽器進行上網

3.通過尋找,找到到谷歌搜尋時請求的url。

假設我們在谷歌瀏覽器當中輸入:不知道

我們可以得到請求結果的網址如下:

也就是:

https://www.google.com/search?q=%E4%B8%8D%E7%9F%A5%E9%81%93&rlz=1C1CHWL_zh-CNAU918AU918&oq=%E4%B8%8D%E7%9F%A5%E9%81%93&aqs=chrome.0.69i59l2.885j0j1&sourceid=chrome&ie=UTF-

在這個網址當中,問號“?”後面的則是這次請求的引數,將問號前面的網址拿下來,放到程式碼裡。後面的引數我們可以程式碼進行人為的定義,這樣我們就可以使用爬蟲爬取任意搜尋結果的html網頁了。

剪輯後的url如下:

url='https://www.google.com/search'

?問號後面的“q=不知道”可以作為我們傳入給谷歌搜尋引擎的引數,因此可以編寫程式碼:

param={
    'q':kw
}

這樣程式就可以自己知道搜尋引擎後面跟隨的引數是什麼了。我們就可以傳遞進一個我們想要的kw進去即可。

完整的程式如下:

import requests

headers={
    '
User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36' } url='https://www.google.com/search' #處理url所攜帶的引數,將其封裝到字典當中 kw=input("enter a word:") param={ 'q':kw } #對指定url發起的請求url是攜帶引數的 response=requests.get(url=url,params=param,headers=headers) page_text
=response.text print(page_text) file_name=kw+'.html' with open(file_name,'w',encoding='utf-8') as fp: fp.write(page_text)