python爬虫到底是干什么的,python爬虫是干什么的

python爬虫到底是干什么的,python爬虫是干什么的importosimpo 获取随机请求头 defget headers file open user agent txt r user agent list file readlin

import os

import re

from uuid import uuid1

import requests

from bs4 import BeautifulSoup

from random import choice

# 获取随机请求头

def get_headers():

file = open(‘user_agent.txt’, ‘r’)

user_agent_list = file.readlines()

user_agent = str(choice(user_agent_list)).replace(‘\n’, ”)

user_agent = ‘Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/ Firefox/39.0’ if len(

user_agent) < 10 else user_agent

headers = {

“User-Agent”: user_agent,

}

return headers

# 负责下载图片

def download(src, end):

try:

headers = get_headers()

response = requests.get(src, headers=headers)

# 获取的文本实际上是图片的二进制文本

img = response.content

print(img)

path = “images/” + str(uuid1()) + end

# 将他拷贝到本地文件 w 写 b 二进制 wb代表写入二进制文本

with open(path, ‘wb’) as f:

f.write(img)

except Exception as e:

pass

# 负责请求页面

def requests_get(url):

try:

headers = get_headers()

# 请求页面

response = requests.get(url, headers=headers)

# 解析

soup = BeautifulSoup(response.text, ‘lxml’)

image_list = soup.find_all(attrs={“class”: “img-responsive”})

for image in image_list[:-1]:

# 获取图片链接

src = image.attrs[“data-backup”]

# 获取图片后缀

end = os.path.splitext(src)[1]

if src and end:

# 去除特殊字符

end = re.sub(r'[,。??,/\\·]’, ”, end)

# 调用下载函数

download(src, end)

else:

pass

except Exception as e:

print(e)

pass

if __name__ == ‘__main__’:

# 负责翻页

for page in range(1, 5):

url = ‘https://www.doutula.com/photo/list/?page=%d’ % page

requests_get(url)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224381.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:04
下一篇 2026年3月17日 下午12:04


相关推荐

  • 云邦互联免费空间(免备案,无广告)「建议收藏」

    云邦互联免费空间(免备案,无广告)「建议收藏」【1G免费全能空间,免备案,无广告】1G全能空间+100M数据库(Mysql5.5)支持的脚本:ASP、PHP(5.2-7.0)、.NET(2.0/4.0)没有任何限制,详细功能请访问:https://www.yunzz.net/host/free.html(云邦互联)推广员:ftp257684p…

    2022年6月18日
    27
  • orbital angular momentum_omnidirectional

    orbital angular momentum_omnidirectionalSelenium模块介绍许多网站的数据是通过JavaScript程序获取的,Python对JavaScript的支持不是太好,想用Python获取网站中JavaScript返回的数据,也能是模拟浏览器了。Mechanize不支持JavaScript,我们可以选用一款支持JavaScript的模块-Selenium.Selenium是一套完整的Web应用程序测试系统,包含了测试的录制(Seleni

    2025年7月31日
    5
  • potplayer自定义加速播放[通俗易懂]

    potplayer自定义加速播放[通俗易懂]进入选项如下图如下图,其中第三步输入快捷键时使用键盘,如冲突会有响铃和提示,建议使用图中ctrl+方向键一定要点击应用

    2022年5月21日
    56
  • C#酒店管理系统_酒店管理系统免费

    C#酒店管理系统_酒店管理系统免费1.酒店管理系统概要c#实现的酒店管理系统,里面包含了数据库文件,简易酒店管理系统源码,采用WinFrom程序设计开发的酒店管理系统;应用到标准的三层技术,多个视图工具控件;功能介绍用户可根据自己的需求入住登记不同类型的房间,同时登记个人基本信息,管理员可通过对不同类型房间的管理及房间信息管理设置不同的类型房间进行增删改查,并对入住客户的信息及点退房信息查询,并改变房间的入住与退房或空房间的状态信息2.数据库设计由于数据库较多,所以暂时不放出来,下面我们看运行截图3.运行截图

    2026年3月5日
    4
  • itextpdf设置页码_word页码相同怎么改

    itextpdf设置页码_word页码相同怎么改项目需要样式比较复杂,刚开始因为时间比较紧所以采用了Itextpdf插件代码生成pdf,实话说过程十分繁琐,因为pdf文件样式比较多,表格也比较多,各种的表格,还有就是页眉页脚页码都要自己找页面位置坐标但是又不能像html那样方便更改查看样式,只能改一点导出来看看合适不,然后再改再导出来看。私下调研了很多,现在罗列一下我所用到的一些样式处理,希望可以帮助需要做这个功能的朋友少踩坑,少尝试,直接出完美pdf报告。封面首页封面右上角那个图片可以换成logo,我做的大概是这样的一个样子,上代码/

    2022年10月3日
    5
  • 豆包本地文件问答怎么开启_豆包本地文件问答开启图文教程

    豆包本地文件问答怎么开启_豆包本地文件问答开启图文教程

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号