爬虫项目 之(一) --- urllib 和 正则re
2019-05-10 06:00:33来源:博客园 阅读 ()
from urllib import request,parse from time import sleep import re # 1、【数据的获取】 # 封装一个函数,用于将url转化成一个请求对象 def request_by(url,page): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36'} if page==1: page_url = url + ".html" else: page_url = url +"_"+ str(page) + ".html" print("正在访问:",page_url) req = request.Request(url=page_url,headers=headers) return req # 封装一个函数,用于对请求对象发起请求并且把响应体返回出去 def get_html_from(req): res = request.urlopen(req) # 每请求一次要休眠一段时间 sleep(1) return res.read().decode("utf-8") # 2、【数据的解析】 def anylasis_data(html): pat = re.compile(r'<div class="box picblock.*?<img src2="(.*?)"',re.S) imgs = pat.findall(html) return imgs # 3、数据的存储 def download_imgs(imgs): for img in imgs: # http://pic1.sc.chinaz.com/Files/pic/pic9/201904/zzpic17564_s.jpg # 生成图片的名字 img_name = img.split("/")[-1] print("正在下载图片:",img) request.urlretrieve(url=img,filename="./meinv/"+img_name) sleep(1) if __name__ == '__main__': page_url = "http://sc.chinaz.com/tupian/meinvxiezhen" for i in range(1,2): req = request_by(url=page_url,page=i) res = get_html_from(req) imgs = anylasis_data(res) download_imgs(imgs)
原文链接:https://www.cnblogs.com/TMMM/p/10834473.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 小白如何入门 Python 爬虫? 2019-08-13
- Django项目中使用qq第三方登录。 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
- 把Python项目打包成exe文件 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash