python 爬虫之获取标题和链接

今天我想分享一些关于SEO优化的基础知识,这些知识几乎每位SEO专业人员都会明白。一种SEO策略是在其他论坛上发布文章,首先发布一些具有技术性的文章,然后再发布自己网站的链接。最近,我在oschina论坛上发布了一些文章,但今天我没有太多新的内容要发布,所以我决定分享一段小代码,用于爬取我的oschina论坛内的链接和标题。这个过程非常简单,非常容易。

下面是Python代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from requests_html import HTMLSession

session = HTMLSession()
url = "https://my.oschina.net/u/4798232"
r = session.get(url)

for i in range(1, 12):
i = str(i)
url_xpath = '//div[@id="newestBlogList"]/div[1]/div[' + i + ']/div/a'
title = r.html.xpath(url_xpath, first=True).text
link_xpath = url_xpath + '/@href'
link = r.html.xpath(link_xpath, first=True)
a = "原"
if a not in title:
print(title)
print(link)
else:
print(title.replace(a, ""))
print(link)

这段代码使用XPath来操作,具体如何复制XPath可以参考您提供的文章中的动图示例。然后,我们导入所需的库并定义了要访问的URL。在循环中,我们通过XPath来获取链接和标题。

不过,注意到一开始有些文章的XPath中多了一个[1],解决这个问题时的方法是尝试不加[1],看看是否仍然可以获取文章的内容。此外,注意获取标题时需要使用.text属性来获取文字,但获取链接时不需要。

还可以进一步将标题和链接保存到JSON文件中,或使用openwrite来将它们写入文本文件中,然后可以在需要时读取它们。这将获取文章的所有链接,并通过查询文章内容的XPath来获取所有文章内容。

如果有任何问题或需要进一步的指导,请随时在评论区提问,我将尽力回答。

作者

datehoer

发布于

2020-11-21

更新于

2023-10-19

许可协议

评论