每日总结
今天又画了一点的网页。
学习了python的爬虫代码,主要是读别人的代码。
import urllib.request import urllib.parse url = 'https://www.baidu.com/s?wd=' # 请求对象的定制为了解决反爬的第一种手段 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36' } # 将字变成unicode编码的格式 # 我们需要依赖于urllib.parse name = urllib.parse.quote('狄仁杰') url = url + name # 请求对象的定制 request = urllib.request.Request(url=url,headers=headers) # 模拟浏览器向服务器发送请求 response = urllib.request.urlopen(request) # 获取响应的内容 content = response.read().decode('utf-8') # 打印数据 print(content)
首先确定所要访问的网址,之后进行header的设置,解决反爬,之后需要进行数据的编码格式更改,随后进行数据拼接,定制请求对象,进行请求的发送,获取相应的response,对其进行utf-8的解码,打印数据。
下面是将数据进行unicode的编码格式:
import urllib.parse data = { 'wd':'周杰伦', 'sex':'男', 'location':'中国台湾省' } a = urllib.parse.urlencode(data) print(a)
下面是演示和以上代码相似的页面爬取显示页面。
import urllib.request import urllib.parse base_url = 'https://www.baidu.com/s?' data = { 'wd':'周杰伦', 'sex':'男', 'location':'中国台湾省' } new_data = urllib.parse.urlencode(data) # 请求资源路径 url = base_url + new_data headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36' } # 请求对象的定制 request = urllib.request.Request(url=url,headers=headers) # 模拟浏览器向服务器发送请求 response = urllib.request.urlopen(request) # 获取网页源码的数据 content = response.read().decode('utf-8') # 打印数据 print(content)