目录
本文以图片之家为例
现在需要获取图片的名字和图片地址
正则表达式匹配
正则表达式学习推荐网站
以'title="(.+?)" height="'匹配包含名字和地址的数据,代码如下
import requests
import re
url = 'https://www.tupian168.com/'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
resp = requests.get(url,headers=headers)
text = resp.text
divs = re.findall('title="(.+?)" height="',text)
divs = [i.split('"') for i in divs]
datas = [(i[0],i[-1]) for i in divs]
print(datas[0])
元素定位读取
1.使用'//*[@class="item"]'定位每个图片项目
2.继续匹配标题和地址
import requests
from lxml import etree
url = 'https://www.tupian168.com/'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
resp = requests.get(url,headers=headers)
text = resp.text
parser = etree.HTML(text)
items = parser.xpath('//*[@class="item"]')
for i in items:
print(i.xpath('./a/@title')[0],i.xpath('./a/img/@src')[0])
如需下载可使用以下脚本
from urllib.request import urlretrieve
urlretrieve(url, filename)