爬取图片

阅读: 评论:0

爬取图片

爬取图片

因为requests请求网页源码不完整,只好用selenium模拟请求,但效率异常慢。

分为网页请求、网页解析、图片保存、循环调用三个主要步骤。

from bs4 import BeautifulSoup
from selenium import  webdriver
import re
import requests
import osname=0
#网页请求
def get_html(url):html=''browser = webdriver.Chrome()(url)doc=browser.page_sourcebrowser.close()doc = BeautifulSoup(doc, 'lxml')for i in doc.select('mentlist'):for item in i.select('p'):img1=str(item.select('a'))img2=str(item.select('img'))html=html+'n'+img1+'n'+img2return html#网页解析
def parse_page(html):list_All = []pattern = repile('src="(.*?)".*?href="(.*?)".*?target', re.S)result = re.findall(pattern, html)for i in result:list_All.append(i[0])list_All.append(i[1])return list_All#图片保存
def save_pictures(list_ALL):global namefor url in list_ALL:try:response = (url)doc = tname += 1with open('D://pictures_crawling//{0}.jpg'.format(str(name)), 'wb') as f:f.write(doc)except:None#循环
def main():start=int(input("开始页码(0-100):"))end=int(input("结束页码(0-100):"))print("图片保存位置:D://")os.mkdir("D://pictures_crawling")for url_section in range(start,end):url=''+str(url_section)+'#comments'html=get_html(url)list_all=parse_page(html)print(list_all)save_pictures(list_all)if __name__=='__main__':main()

慢的已经不想统计时间了,直接把time.per_counter()删了。

本文发布于:2024-01-28 18:23:20,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064374039358.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图片   jiandan   net
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23