【Python爬虫】:爬取(谷歌/百度/搜狗)的搜索结果

步骤如下:
1.首先导入爬虫的package:requests

2.使用UA 伪装进行反反爬虫,将爬虫伪装成一个浏览器进行上网

3.通过寻找,找到到谷歌搜索时请求的url。

假设我们在谷歌浏览器当中输入:不知道

我们可以得到请求结果的网址如下:

【Python爬虫】:爬取(谷歌/百度/搜狗)的搜索结果_第1张图片

也就是:

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-
在这个网址当中,问号“?”后面的则是这python基础教程次请求的参数,将问号前面的网址拿下来,放到代码里。后面的参数我们可以代码进行人为的定义,这样我们就可以使用爬虫爬取任意搜索结果的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)

你可能感兴趣的:(python基础教程,python基础教程)