import requests from lxml import etree import os from urllib.request import urlretrieve import sys url='https://www.huya.com/g' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36'} response=requests.get(url,headers=headers).content.decode() html=etree.HTML(response) req=html.xpath('//li[@class="g-gameCard-item"]//a//@data-gid') names=html.xpath('//li[@class="g-gameCard-item"]//a//p/text()') i=0 mylog=open('关键字大全.log',mode='a',encoding='utf-8') print(' -----------查找关键字大全-----------',file=mylog) #这里只是为了查看关键字美观而已,保存到记事本里 for re,name in zip(req,names): print('关键字:%s 查找id号:%s'%(name,re),end=' ',file=mylog) i+=1 if i==5: print('\n',file=mylog) i=0 mylog.close() name_1=input('\n请输入查找关键字:') for re,name in zip(req,names): if name_1==name: break if name_1!=name: print('没有你想查找的关键字') else: url='https://www.huya.com/g/{}#tag0'.format(re) data=requests.get(url,headers=headers).content.decode() html=etree.HTML(data) #链接 link_list=html.xpath('//a/img[@class="pic"]/@data-original') #名字 names_1_list=html.xpath('//span[@class="avatar fl"]//img/@title') # 文件名字 os.mkdir(name) for link, names_1 in zip(link_list, names_1_list): # 获取链接 link = link.split('?')[0] try: # 保存数据 urlretrieve(link, name + '/' + names_1 + '.jpg') print(names_1 + '100%') except: pass
时间: 2024-04-28 18:22:50 浏览: 10
这段代码是一个Python爬虫程序,用于从虎牙直播网站上爬取游戏直播分类下的主播头像,保存到本地文件夹中。具体实现过程如下:
1. 导入requests、lxml、os和urllib库,用于发送http请求、解析html文档、创建文件夹和下载图片。
2. 设置headers,伪装成浏览器的请求头,避免被服务器识别为爬虫。
3. 发送http请求,获取游戏直播分类下的html文档。
4. 使用xpath解析html文档,获取所有游戏id和游戏名字。
5. 将关键字和对应的id保存到本地记事本中,以便后续查看。
6. 等待用户输入要查找的关键字,根据关键字查找对应的游戏id。
7. 根据游戏id构造新的url,重新发送http请求,获取游戏主播列表的html文档。
8. 使用xpath解析html文档,获取所有主播头像的链接和主播名字。
9. 根据主播名字创建文件夹,遍历所有主播头像链接,下载头像并保存到对应的文件夹中。
需要注意的是,这段代码仅供学习和参考使用,对于未经授权的爬取行为,请勿使用。同时,爬取过程中应当遵守相关法律法规和网站的使用协议,不得侵犯他人的隐私和知识产权。
相关问题
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 import time url = 'https://www.example.com' num_requests = 10
这段代码是在Python中引入了requests和time两个模块,并定义了一个URL变量表示目标网站的地址,还定义了一个num_requests变量表示需要发送的请求次数,在此示例中是10次。这些变量可以在后面的代码中被使用。requests模块可以用来发送HTTP请求,time模块可以用来控制代码执行的时间间隔。