首页 > 其他分享 >xpath爬取唐诗三百首

xpath爬取唐诗三百首

时间:2023-01-11 19:13:17浏览次数:38  
标签:xpath fp url list 唐诗三百 li 爬取 article

首页如图

抓包工具显示如下

 

 

点击作者后,转到详情页

抓包工具显示如下、

 

爬取代码如下

 1 时间:2023/1/9 22:10
 2 功能描述
 3 
 4 '''
 5 import requests
 6 from lxml import etree
 7 
 8 url = 'https://tangshi.5000yan.com/shiren/'
 9 headers = {
10     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'}
11 
12 
13 def get_url_xpath(url):
14     url_1 = requests.get(url=url, headers=headers).content  # 解决乱码问题,用content而不用text
15     zuozhe = etree.HTML(url_1)
16     return zuozhe
17     # print(url_1)  # 检验一下是否乱码
18 
19 if __name__=='__main__':
20     xpath1 = get_url_xpath(url)
21     li_list = xpath1.xpath('//main/div/ul/li')  # 获取li标签列表
22     fp = open('11.txt', 'w', encoding='utf-8')
23     for li in li_list:
24         tang_name = li.xpath('./a/text()')  # 对应每个li标签,获取每个标签下的a标签下的文本和地址
25         # print(tang_name[0])
26         #fp.write(tang_name[0] + '\n\n')
27         detail_url = li.xpath('./a/@href')[0]  # ./表示在当前目录下,继续层级
28         # print(detail_url)
29         fp.write(tang_name[0]+'\n')
30         xpath2 = get_url_xpath(detail_url)
31         article_list = xpath2.xpath('//section[@class="blockGroup"]/article')
32         for article in article_list:
33             biaoti_list = article.xpath('./h2/a/text()')
34             neirong_list = article.xpath('./div/div[@class="shi-zhong"]/span/a/div/text()')
35             #print(biaoti_list, neirong_list)
36             for biaoti in biaoti_list:
37                 fp.write(biaoti)
38                 for neirong in neirong_list:
39                     fp.write(neirong)
40                 fp.write('\n')
41 print('下载完成!')

 

标签:xpath,fp,url,list,唐诗三百,li,爬取,article
From: https://www.cnblogs.com/chengshu1258/p/17044678.html

相关文章

  • Python爬虫-第三章-4-利用BeautifulSoup模块爬取某网壁纸图库图片
    思路:1.提取子页面链接2.访问子链接页面,提取下载地址3.访问下载地址下载内容到本地#DemoDescribe:数据解析bs4importtimeimportrequestsimportrandomimportstringfr......
  • xpath解析数据的方法
    1功能描述21.实例化一个etree对象,且需要将被解析的页面源码数据加载到该对象中32.调用etree对象中的XPath表达式实现标签的定位和内容捕获43.环境安装pipins......
  • 数据分析岗还香吗?爬取猎聘网数据告诉你
    本文爬取猎聘网近400条关于数据分析岗的数据,包含岗位名称、薪酬、地区、学历、工作经验、公司名称等,研究数据分析岗在学历、工作经验方面的要求,以及数据分析岗位的薪资情况......
  • 爬取兰州市房价,看到结果让我很舒适!
    《兰州市落实强省会战略进一步优化营运环境若干措施》于2022年4月1日会议通过,兰州印发1号通知进一步放宽购房政策,包括降低个人购买住房门槛、减轻个人住房消费负担、加大住......
  • python爬虫如何爬取招聘数据
    互联互通的时代,几乎任何行业有关的数据都可以在网络上查到,那么作为大数据公司,如何借用爬虫实现公开数据抓取数据就显得尤为重要,下面就是有关招聘信息等数据的抓取代码案例可......
  • 利用BeautifulSoup爬取三国演义
     1importrequests2frombs4importBeautifulSoup3headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGe......
  • 爬取百度图片
    fromfake_useragentimportUserAgentimportrequestsimportreimportuuidheaders={"User-agent":UserAgent().random,#随机生成一个代理请求"A......
  • lxml与XPath
    lxml与XPath​ 尽管正则表达式处理字符串的能力非常强,但编写功能强大的正则表达式并不容易,而且难以维护,复杂的正则表达式也并不容易理解​ 幸好还有其他的方式处理字符串......
  • python_selenium元素定位_xpath(2)
     selenium自动化脚本最基础的就是元素定位和元素操作,下面就以百度为例介绍最常见的xpath定位方式基本定位方式:以百度的搜索框为例fromseleniumimportwebdriverim......
  • Python爬取往期股票数据,分析中奖规律!
    快过年了,手头有点紧,但是作为一个男人,身上怎么能够没有大把钞票呢?于是我决定用Python来分析一波股票,赢了会所嫩*,输了下海干活!好了,上面是我吹牛逼的,不过确实有小伙......