html如何获取请求头变量的值。_看了这篇,你都会知道如何
使⽤python爬⾍
想必⼤家都知道python有个好玩的东西叫做爬⾍,会玩的⼈能在⽹上爬取想要的任何资源的,今天⼩编也简单的带⼤家来玩⼀玩爬⾍。这次我们使⽤Requests这个库
# -*- coding:utf-8 -*-
import time
import requests
from bs4 import BeautifulSoup
然后⽹址,请求头
url = 'www.win4000/hj/2018cxyx.html'
headers = { #请求头
'User-Agent':
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25
Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400",
"Connection":"close"}
img = [] #⽤于存储图⽚地址的列表
请求头可以直接抄浏览器的:F12->Network->F5->Headers
获取⽹页源代码的函数...打印显⽰的和浏览器⾥右键查看源代码⼀样,打印t是⼀堆⼆进制字符
http状态码:2成功 3重定向 4错误 5、6服务器宕机
def get_url(url):#获取⽹页源代码
req = (url, headers=headers,verify=False)
#verify=False:关闭SSL验证
req.raise_for_status()
#判断返回的response类型的状态是不是200
#如果不是,则会产⽣⼀个requests.HTTPError异常
html如何下载t
#.text 返回的是unicode 型的数据,⼀般是在⽹页的header中定义的编码形式#.content返回的是bytes,⼆级制型的数据
#也就是说如果想要提取⽂本就⽤text
#但是如果想要提取图⽚、⽂件,就要⽤到content
获取图⽚地址的函数,data-original⾥的是真实地址
def get_html(html):#查所有图⽚的地址并加⼊列表
soup = BeautifulSoup(html, 'html.parser')
html_ = soup.find_all('img')#顾名思义应该是查所有img标签
for item in html_:
attrs = item.attrs #这是什么玩意还没研究明⽩
for attr in attrs:
if attr == 'data-original':
#不知道原理,反正这样就把'data-original='后边的链接提取出来了
img.append(str(item[attr]))
下载、保存图⽚⽂件的函数
a="https:"#有些⽹站⾥的图⽚地址提取出来没有http头
root = r'D:pic' #保存路径
def get_png(list):
num = 1
for item in list: # 循环将图⽚下载
item_ = get_url(item) #没http头的换成a+item
print('下载第' + str(num) + '张图⽚')
num = num + 1
with open(root+str(num-1) + '.jpg', 'wb') as f:
f.write(item_)
time.sleep(1)
运⾏:
结尾
最后多说⼀句,⼩编是⼀名python开发⼯程师,这⾥有我⾃⼰整理了⼀套最新的python系统学习教程,包括从基础的python脚本到web开发、爬⾍、数据分析、数据可视化、机器学习等。想要这些资料的可以关注⼩编,并在后台私信⼩编:“01”即可领取。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论