阿里云可以做网站吗,江苏seo和网络推广,网站开发前后端分工,网站 虚拟空间安装
pip install lxml导入
from lxml import etreexpath使用路径表达式提取html文档中的元素或元素集#xff0c;然后元素通过沿路径path或步steps来选取数据
XPath常用语法格式
表达式描述div选取div元素的所有子元素/div选取根元素divul//li选取ul元素下的所有li子元素…安装
pip install lxml导入
from lxml import etreexpath使用路径表达式提取html文档中的元素或元素集然后元素通过沿路径path或步steps来选取数据
XPath常用语法格式
表达式描述div选取div元素的所有子元素/div选取根元素divul//li选取ul元素下的所有li子元素//class选取所有具有class属性的元素ul/li/[1]选取ul元素下的第一个li子元素//div[id‘t2’]选取id属性为t2的所有div元素//li[class‘box’]选取class属性为box的li子元素/div/ui/li[class‘top’]选取根元素div下ul元素下的class属性为top的li子元素//li/a/href获取li元素下所有a元素的href值//li/a/text()获取li元素下所有a元素的文本内容
使用xpath匹配数据实践
爬取彼岸图4k高清动漫壁纸 https://pic.netbian.com/4kdongman/
爬取第一页的图片
import requests
from lxml import etree
import osurl https://pic.netbian.com/4kdongman/index.html
r requests.get(url)
r.encodinggbk
html etree.HTML(r.text)# Element html at 0x11647c63ec8
img_urls html.xpath(//div[classslist]/ul/li/a/href)# [/tupian/32274.html, /tupian/32257.html, ...
for img_url in img_urls:# 第二层urlimg_url https://pic.netbian.com img_urlrr requests.get(urlimg_url)rr.encodinggbkimg_html etree.HTML(rr.text)img_name img_html.xpath(//a[idimg]/img/title)[0]# 高清图片的srcimg_src https://pic.netbian.com img_html.xpath(//a[idimg]/img/src)[0]rimg requests.get(url img_src)# 可以改文件夹的名字folder_name dongmanif not os.path.exists(folder_name):os.mkdir(folder_name)# 保存图片with open(f{folder_name}/{img_name}.jpg,wb) as f:f.write(rimg.content)print(img_name)批量爬取多页图片