Python获取blog文章内容
临时写的一个,应用场景佷有限,大家凭自己再扩展吧,我是因为要把一个文章迁移,强制复制也不行,就写了个这玩意,直接上图了:这个可以再扩展成更自动的,可是我懒,希望有闲的没事的大佬扩展一下,我要借鉴(抄)~~
云在天 发表于 2023-11-16 06:34
为什么要提供图片, 不提供代码呢
代码在这
import re
import requests
from lxml import etree
post_url = input('请输入文章地址:')
#根据文章地址get数据
res = requests.get(post_url)
xx = res.content.decode('utf-8')
x = etree.HTML(xx)
#需要获取父级xpath
#xpath示例://*[@id="article-container"]
#不会的百度吧
xpath = input('请输入xpath路径,可打开控制台查看:')
content = x.xpath(xpath + '//*')
ree = re.compile(r'class=".*"|id=".*"')
urll = re.compile(r'(?<=(src="))(/).*?(?=("))')
with open('resualt.txt', 'w', encoding='utf-8') as file:
tep1 = ''
for i in content:
tep = etree.tostring(i, encoding='utf-8').decode('utf-8').strip()
tep = re.sub(ree, '', tep)
strr = re.search(urll, tep)
#如果图片是相对路径,就自动替换成绝对路径,(需要自己寻找修改路径地址)
#后面不用管,只需要找到前面的路径就行就像https://dreamtea.top
#需要自己实测
if strr is not None:
strr = strr.group()
tep = re.sub(urll, 'https://cdn.com' + '/' + strr, tep)
# print(tep)
strr = None
if tep != tep1 and tep in tep1:
#print(tep)
continue
file.write(tep)
tep1 = tep
print('导出完成!')
import re
import requests
from lxml import etree
post_url = input('请输入文章地址: ')
#根提文章地址get数据
res = requests. get(post_url)
xx= res. content. decode('utf-8')
x = etree. HTML(xx)
#需要获取父级xpath
#xpath示例: //*[@id="article-container"]
#不会的百度吧
xpath = input('请输入xpath路径, 可打开控制台查看:')
content = x. xpath(xpath + '//*')
ree = re. compile(r'class=".*"|id=".*"')
url l = re. compile(r'(?<=(src="))(/).*?(?=("))')
with open('resualt. txt', 'w', encoding='utf-8') as file:
tep1 = ''
for i in content:
tep = etree. tostring(i, encoding='utf-8'). decode('utf-8'). strip()
tep = re. sub(ree, ", tep)
strr = re. search(urll, tep)
#如果图片是想对路径,就自动背换成绝对路径,《需要自己寻找修改路径地址》
#后面不用筒,只需要找到煎面的路径就行。就像 https://dreamtea.top
#需要自己实测
if strr is not None:
strr r = strr. group()
tep = re.sub(urll, ' https://cdn.con'+'/'+strr,tep)
# print(tep)
strr = None
if tep != tep1 and tep in tep1:
#print(tep)
continue
file. write(tep)
tep1 = tep
print('导出完成!') 如果有不会获取xpath可以直接百度!
或者按我的方法,打开开发者工具,进入选择模式,选中父级(最外面那个)元素,然后 右键->复制->复制xpath(或者复制完整xpath,基本一样) 为什么要提供图片, 不提供代码呢 最好加上uer-agent防止反爬,直接请求可能会失败 为什么要提供图片, 不提供代码呢 好东东,收藏,感谢分享 牛逼,谢谢
为什么要提供图片, 不提供代码呢? 学习了 不错不错 要是有代码就更好了,我们也想借鉴