Python爬虫基础——urllib.request
程序员文章站
2022-05-03 21:34:37
...
#-*- coding:UTF-8 -*-
#Author Chen Da
import urllib.request
import random
# 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来;
# User-Agent是爬虫与反爬虫的第一步,养成好习惯,发送请求带上 。
ua_headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0'
}
'''
#user-agent也 可以做成一个列表
ua_headers_list = [
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0'
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0'
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0'
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0'
]
#然后在列表里面随机选择一个User-Agent
ua_headers = random.choice(ua_headers_list)
'''
# 通过urllib.request.Request()方法构造一个请求对象
request = urllib.request.Request('http://www.baidu.com/',headers=ua_headers)
# 向指定的url地址发送请求,并返回服务器相应的类文件对象;
# urlopen底层实际上是一个open;
# urlopen中没写data请求是get,写了是post请求;
response = urllib.request.urlopen('http://www.baidu.com/')
# 服务器返回的类文件对象支持python文件对象的操作方法
# 对返回的文件对象用read()方法就是读取文件里的全部内容,返回字符串
html = response.read()
#打印相应内容
#这里打印的就是网页的html源码
print(html)
#返回HTTP的响应码,成功返回200,4服务器页面出错,5服务器问题
print(response.getcode())
#返回实际数据的实际url,防止重定向403
print(response.geturl())
#返回服务器相应的HTTP报头
print(response.info())
下一篇: methods