点击上方蓝字关注我们
本片文章讲述使用迭代的方法来进行网页爬取
第一步:思路定义函数
函数内调用函数
def fun(): pass
其实和上一篇文章没有多少区别,不过只是把爬虫加到了函数中,爬虫主体的思路和之前一样。
代码:
import requestsfrom lxml import etree#定义函数def save_story(url): #使用requests库获取网页 html = requests.get(url).content.decode('utf-8') #etree格式化网页 html = etree.HTML(html) #解析网页 tit = html.xpath('//*[@id="wrapper"]/div[4]/div/div[2]/h1/text()') story = html.xpath('//*[@id="content"]/text()') #使用with方法创建一个文件并写入数据 with open('text.txt','a+',encoding='utf-8',newline='') as f: f.writelines(tit) for i in story: f.write(i) #获取下一页的url new_url = html.xpath('//*[@id="wrapper"]/div[4]/div/div[4]/a/@href') tit_url = html.xpath('//*[@id="wrapper"]/div[4]/div/div[4]/a[3]/@href') #判断函数是否继续调用 if tit_url[0] == new_url[-2]: print(========ok==========) else: #调用函数再次爬取网页,解析,保存,调用函数 save_story(new_url[-2])save_story() #填入起始url
注意的是,起始url是所想要爬取网页的第一页,当然,任意一页也可以,第一页能最大限度的爬取内容。
点个在看,你最好看