import requests from lxml import etree url='https://top.chinaz.com/hangye/index_yule_xiaoshuo.html' headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'} rqg=requests.get(url=url,headers=headers) rqg_text=rqg.text rqg.encoding='utf8' html=etree.HTML(rqg_text) node_list=html.xpath('//*[@id="content"]/div[4]/div[3]/div[2]') alexa=[] fls=[] for node in node_list: name=node.xpath('./ul/li/div[2]/h3/a/text()') website=node.xpath('./ul/li/div[2]/h3/span/text()') alexa1=node.xpath('./ul/li/div[2]/div/p[1]/span/text()') for i in range(len(alexa1)): alexa12=node.xpath('./ul/li/div[2]/div/p[1]/a/text()') for i in range(len(alexa12)): alexa.append(alexa1[i]+alexa12[i]) fls1=node.xpath('./ul/li/div[2]/div/p[4]/span/text()') for i in range(len(fls1)): fls2=node.xpath('./ul/li/div[2]/div/p[4]/a/text()') for i in range(len(fls2)): fls.append(fls1[i]+fls2[i]) pm=node.xpath('./ul/li/div[3]/div/strong/text()') score=node.xpath('./ul/li/div[3]/div/span/text()') text=node.xpath('./ul/li/div[2]/p/text()') print(name)
实现翻页可以有2种:
第1种
lis1 = ['' if i ==1 else '_' +str(i) for i in range(1,10)]
url = ['https://top.chinaz.com/hangye/index_yule_xiaoshuo{}.html'.format(i) for i in lis1]
第2种
简单的爬虫我也习惯用for循环, 这个你可以参考下: