11爬虫:使用requests和selenium分别抓取4399网页游戏名称
我们分别通过requests和selenium抓取4399网页中的游戏名称,作为对前面知识的复习。
使用requests抓取
使用lxml.etree方法解析网页数据
import requests
from lxml import etree
url = 'https://www.4399.com/'
response = requests.get(url=url)
response.encoding = 'gb2312' # 设置网页的解码方式
html = etree.HTML(response.text)
names = html.xpath('//ul[@class="tm_list "]/li/a/img/@alt')
print(names)
使用parsel.Selector解析网页数据
import requests
from parsel import Selector
url = 'https://www.4399.com/'
response = requests.get(url=url)
response.encoding = 'gb2312' # 设置网页的解码方式
selector = Selector(text=response.text)
names = selector.xpath('//ul[@class="tm_list "]/li/a/img/@alt').getall() # 返回的是一个列表
for name in names:
print(name)
使用selenium抓取
# selenium爬取游戏信息
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
web = Chrome() # 创建浏览器对象
web.get('https://www.4399.com/') # 访问4399网页
lis = web.find_element(By.XPATH,'//*[@id="skinbody"]/div[10]/div[1]/div[1]/ul').text
print(lis)
web.close()