python简单爬虫案例 [批量爬取文案]
前言
辅导员要求发博客,不知道写啥。最近学了下python爬虫的东西,就简单写下爬虫吧
本案例使用python爬虫技术从文案网页http://www.xhwag.com/爬取文案并保存到本地
项目准备
开发环境 :python=3.10
用到的包:re,requests
requests包安装
终端执行以下代码
pip install requests
如果速度太慢,可以使用清华源下载
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
爬虫流程
- 获取url
- 发送请求
- 解析数据
- 保存数据
思路
爬取的数据分布在多个页面中,同时每个页面中存在其他页面的链接,所以我们可以从一个起始页面开始用BFS逐个页面爬取,维护一个待访问页面的列表和一个以访问页面的列表。用re模块解析每个页面的数据,文案自定义保存,其他网页链接存入待访问列表。循环从待访问列表中取出url检查是否在以访问页面的列表中,存在就重新获取,不存在就存入以访问页面的列表并且发送请求
实现
网页太简陋,没有反爬,只用get(url)就成
必须要有起始页面自己决定
n是最多爬取的页面数量,我自己运行的时候还没到100待访问列表就空了直接就退出了
用res.content.decode("utf-8")是因为res.text有乱码,其他网站不一样,具体情况具体分析
tool.py
def count(num=0):while True:num+=1yield num
main.py
import requests
import refrom tool import countn =100ct=count()
com = "http://www.xhwag.com/"
urllist = ["dw677.html"]
old_url = []
s = r'<p style="font-family: 楷体; font-size: 20px;">(.*?)</p>'
s2 = r'<a target="_blank" href="(.*?)" title=".*?</a>'
f = open("文案.txt", "w", encoding="utf-8")
isempty=False
for i in range(n):url = urllist.pop(0)while url in old_url:if not len(urllist):isempty=Truebreakurl = urllist.pop(0)if isempty:breakres = requests.get(com + url)old_url.append(url)html = res.content.decode("utf-8")li = re.findall(s, html)new_url = re.findall(s2, html)for url in new_url:urllist.append(url)print(li)f.writelines(["{:}、".format(next(ct))+ s.split("、")[1] + '\n' for s in li])f.close()
效果展示
建议去爬键仙语录,再做个自动水群程序。
第一次发,别喷
python简单爬虫案例 [批量爬取文案]相关推荐
- Python简单爬虫(以爬取豆瓣高分图书为例)
前言 浏览器或程序的一次请求,网站服务器的一次响应,就构成一次网络爬虫行为. 一个爬虫通常通过爬虫包完成请求HTML,通过解析包完成HTML解析和存储. 爬虫分类: 全网爬虫 爬取整个互联网,需要定制 ...
- python多线程爬虫案例之爬取麦田
import threading import requests from time import sleep from bs4 import BeautifulSoup import csv fro ...
- 【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)
因为真正的4K图需要登录,并且登录后一天也就只能下载一张,所以就只解析爬取了内容页的高清图片(1200*633左右) 代码实现了我目前所能想到的用户骚操作的判定,例如选择的类目不在这个网站内, 或者这 ...
- python3.6爬虫案例:爬取某网站所有PPT(上)。
写在前面 这次实现之前的flag:爬取第一ppt网站的所有PPT,当然网站中有其他很多的学习资料,这次只爬取PPT.不仅可以平时做模板演示用,还可以练习爬虫,岂不美滋滋.闲话不多说,进入正题. 先 ...
- python3.6爬虫案例:爬取朝秀帮图片
一.写在前面 之前写的两篇博客: python3.6爬虫案例:爬取百度歌单点击打开链接: python3.6爬虫案例:爬取顶点小说(爱看小说同学的福利)点击打开链接 第一个案例写了如何在百度音乐歌单中 ...
- Python 网络爬虫实战:爬取知乎回答中的全部图片
平时逛知乎的时候,经常能看到很多很棒的图片,精美的壁纸,搞笑的表情包,有趣的截图等等,总有想全部保存下来的冲动. 于是在一个小老弟的拜托之下,我把之前的知乎爬虫改造了一下,改装成了一个可以下载知乎回答 ...
- Python【爬虫实战】爬取美女壁纸资源
Python[爬虫实战]爬取美女壁纸资源 一:首先选取一个网站,这里我们选择了一个壁纸网站 二:进入网站,我们可以看到很多图片放在一页里 三:按下F12开发者工具,点击Elments查看网页的代码 四 ...
- [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)
l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...
- [day1]python网络爬虫实战:爬取美女写真图片
l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...
最新文章
- flask执行python程序_Flask app后如何执行代码(应用程序运行)开始
- 从零开始学python电子书-从零开始学Python程序设计 PDF 完整影印版
- git commit如何修改默认编辑器为vim
- Android之基于AssetManager实现换肤方案
- 一周安全事件点评:***黑手正伸向商业数据
- Cortex-M3-异常与中断-向量表 s
- FPGA视频加速的未来
- python处理xml文件_Python解析并修改XML文件
- VS2008系统开发背景图片的添加及注意事项
- bs架构 erp 进销存_从应用架构看生鲜电商信息化建设
- 大咖布道丨证券行业规模化敏捷和核心能力演进
- awk内置字符串函数详解
- 各地实时摄像头_你头顶的摄像头将变成有脑子的眼睛!亚马逊推出AWS Panorama,强监控时代来临?...
- 并发编程学习之阻塞队列ArrayBlockingQueue
- 鼠标单击变双击修正工具软件DoubleClickFix下载
- python爬虫采集财经数据
- 无线智能报警暨家电控制
- python修改误差棒的样式_matplotlib可视化番外篇bar()--带误差棒的柱状图
- APP首次启动提示开启定位服务
- 网易乐商北京(电面一)
热门文章
- 如何快速转发朋友圈呢?
- linux安装软件程序(Debian【aptitude】、Red Hat系统【yum】、源代码安装)————附带详细方法
- Android 图标右上角添加数字提醒
- 【经验分享】Error:‘for’ loop initial declarations are only allowed in C99 mode 的解决方案
- JS换算颜色值(HSV、RGB、Hex、十六进制颜色码)
- errno --详解
- 浅谈网络营销思想的演变与网络营销策略的升级
- the pros and cons正面和反面的理由
- 划过时代黑暗天幕的两颗彗星
- 自由口协议转标准modbus通讯协议 非标协议转标准协议