import requests from lxml import etree url = 'https://www.vcg.com/sets/517310956' resp = requests.get(url,headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37'}) #print(resp.text) xp = etree.HTML(resp.text) img_urls = xp.xpath('//body//div//section//div//div//div//section//figure//a//img/@src') img_names = xp.xpath('//body//div//section//div//div//div//section//figure//a//img/@alt') for u,n in zip(img_urls, img_names): print(f'图片名:{n} 地址:{u}') img_resp = requests.get(u, headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37'}) with open(f'./venv/img_f/{n}.jpg', 'wb') as f: f.write(img_resp.content)
时间: 2023-08-21 07:02:06 浏览: 228
这是一段 Python 代码,它使用 requests 和 lxml 库来爬取一个网站上的图片,并将图片保存到本地文件夹中。其中,requests 库用于发送 HTTP 请求获取网页源代码,lxml 库用于解析网页源代码,提取出图片的 URL 和名称,然后使用 requests 库再次发送 HTTP 请求,将图片的二进制数据保存到本地文件夹中。如果你有任何问题或需要进一步解释,请告诉我。
相关问题
import requests from lxml import etree url="https://www.80142.com/txt/82776.html" html=requests.get(url) print(html)出现requests not get
这个问题可能是因为您没有正确安装 requests 库。请尝试在命令行中使用以下命令安装 requests 库:
```
pip install requests
```
如果您已经安装了 requests 库,那么可能是因为您的代码中出现了其他问题。请检查您的代码是否正确导入了 requests 库,并且 URL 是否正确。另外,您的代码中缺少换行符,请注意格式。下面是您的代码的修改版:
```
import requests
from lxml import etree
url = "https://www.80142.com/txt/82776.html"
html = requests.get(url)
print(html)
```
import requests from lxml import etree import csv headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } f = open('益智地址.csv', mode='w', encoding='utf-8-sig', newline='') csv_writer = csv.DictWriter(f, fieldnames=[ '游戏地址']) csv_writer.writeheader() for i in range(1,123): if i == 1: url = 'https://www.4399.com/flash_fl/5_1.htm' html = requests.get(url,headers=headers).content doc = etree.HTML(html) url_1 = doc.xpath('//*[@class="list affix cf"]/li/a/@href') for i in range(len(name)): dit = {} new_url = 'https://www.4399.com' + url_1[i] for id in new_url: dit['游戏地址'] = id csv_writer.writerow(dit) else: url = 'https://www.4399.com/flash_fl/more_5_{}.htm'.format(str(i)) html = requests.get(url,headers=headers).content doc = etree.HTML(html) url_1 = doc.xpath('//*[@class="list affix cf"]/li/a/@href') for i in range(len(name)): dit = {} new_url = 'https://www.4399.com' + url_1[i] for id in new_url: dit['游戏地址'] = id csv_writer.writerow(dit) print(id)
这段代码是用来爬取4399网站上益智游戏的地址,并将其保存为csv文件的。具体来说,代码使用了requests库获取网页内容,使用lxml库解析HTML代码,然后使用csv库将获取到的数据保存为csv文件。其中,代码使用了循环来遍历所有分页,并且使用了字典来保存每个游戏的地址。不过,需要注意的是,在第一个循环中,使用了一个变量name来作为循环遍历的范围,但是这个变量并没有在代码中定义,可能会导致错误。
阅读全文