想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下
1.使用requests爬取网页
首先爬取百度主页www.baidu.com
import requests
url = "http://www.baidu.com"
html = requests.get(url)
print(html.text)
很简单,调用get函数,传入url,就能提取出页面元素
但打印出来发现百度主页上的中文全部成了乱码,这是因为爬来的数据中没有指定编码格式,编码默认设置为ISO-8891-1,加入一行代码指定编码格式可以解决:
import requests
url = "http://www.baidu.com"
html = requests.get(url)
html.encoding = html.apparent_encoding
print(html.text)
人为指定html.encoding = "utf-8"也能解决中文乱码问题
2.
百度搜索页面的url格式为"http://www.baidu.com/s?"与"wd=搜索关键词"、"pn=从第几个搜索项开始"等片段拼接起来的,不同片段间用&隔开,其中pn从0开始计数,一页有10个搜索项,所以从第n页开始搜索,pn应填为页数*10
如搜索CSDN,从第5个搜索项开始,url为"http: