标签:with creat 表达 原码 agent comment open lis created
爬取糗事百科的段子:
1.用xpath分析首要爬去内容的表达式;
2.用发起请求,获得原码;
3.用xpath分析源码,提取有用信息;
4.由python格式转为json格式,写入文件
#_*_ coding: utf-8 _*_ ‘‘‘ Created on 2018年7月17日 @author: sss function: 爬取糗事百科里面的内容 ‘‘‘ import requests import json from lxml import etree url = "https://www.qiushibaike.com/8hr/page/3/" headers = {‘User-Agent‘: ‘Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1 Trident/5.0;‘} html= requests.get(url, headers = headers).text # print(html) #将返回的字符串格式,转为HTML DOM模式 text = etree.HTML(html) #获得包含每个糗事的链表 #返回所有糗事的节点位置,contains()模糊查询方法,第一个参数为要匹配的标签,第二个参数为标签的内容 node_list = text.xpath(‘//div[contains(@id, "qiushi_tag_")]‘) items = {} for node in node_list: #用户名 # username = node.xpath(‘./div/a/h2‘)[0].text username = node.xpath(‘.//h2‘)[0].text #图片连接 image = node.xpath(‘.//img/@src‘)#[0] #取出标题下的内容 content = node.xpath(‘./a/div/span‘)[0].text #点赞 zan = node.xpath(‘./div/span/i‘)[0].text #评论 comment = node.xpath(‘./div/span/a/i‘)[0].text items = { ‘username‘ : username, ‘image‘ : image, ‘content‘ : content, ‘zan‘ : zan, ‘comments‘ : comment } #把python格式的转换为json格式,此时转换成了字符串,就可以写入糗事段子.txt文件中了 we=json.dumps(items, ensure_ascii=False) print(we) with open(‘qiushi.txt‘, ‘a‘, encoding=‘utf-8‘) as f: #注意在这里转为utf-8格式 f.write((we + ‘\n‘))
效果:
标签:with creat 表达 原码 agent comment open lis created
原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/9322779.html