登录
中文
cover

Python爬虫获取简书文章名称和链接

本文内容已上传星际文件存储系统「IPFS」,永久保存,不可删除。

ipfs

使用requests库获取网页源码,再用lxml进行解析。时间匆忙,连滚带爬查文档,本来想一次性都遍历下来,结果中间字符转字符串过程出了一点小问题,遂卒,等会儿出去跑个步清醒下回来再搞,毕竟任务是每天一篇区块链输出。

look!这是专题的页面,今天先获取第一篇文章的名字和网址。

本来是用Chrome的Xpath插件比较好用,只是近期我的”科学上网“工具全部挂掉,有一个工具我充了两年期会员,心塞。

先用Firefox的插件对付用着,我们看到下方的箭头,指向我们标的信息的位置。

显然,ul[1]代表第一篇文章,那么一共35篇文章,数据就是ul[i],1 <= i <= 35。一看这情况,总觉着for循环直接解决,奈何出现一点问题,先解决第一篇文章的名称和链接。

# -*- coding: utf-8 -*-
# @Time    : 2019/10/2 12:32
# @Author  : 币行者
# @Email   : xypip@qq.com
# @File    : test1.py

import requests
from lxml import etree

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

response = requests.get("https://www.jianshu.com/u/4d19f75c94c3", headers=headers)

text = response.content.decode()
# print(response.request.headers)
#
# print(response.content.decode())

html = etree.HTML(text)

# # 按字符串序列化HTML文档
# result = etree.tostring(html).decode()
#
# print(result)
result = etree.tostring(html)


article_name = html.xpath("//ul[@class='note-list']/li[1]/div/a/text()")
print("article_name = ", article_name)


article_url = html.xpath("//ul[@class='note-list']/li[1]/div/a/@href")
article_url[0] = "https://www.jianshu.com" + article_url[0]
print("article_url = ", article_url)

运行结果:
article_name = ['央行数字货币,意在辅人民币出海']
article_url = ['https://www.jianshu.com/p/ac1c68afb873']

本文发布于瞬matataki 未经授权禁止转载

免责声明:本文由用户「币使者」上传发布,内容为作者独立观点。不代表瞬Matataki立场,不构成投资建议,请谨慎对待。

分享
推荐
不推荐
0/500
1积分/条

评论 0

notContent

暂无内容