十万多rss源爬虫
如题,最近喜欢上折腾rss,就差rss订阅源。最近新上架了一个应用,抓包接口,从里面爬取一些rss源。
没时间去学python,但是又想去尝试写,结果多线程写出来的比java慢很多,就放单线程代码上来吧。
感兴趣的也可以帮忙修改下放评论区(**随机user-agent+代{过}{滤}理ip**),不然十万多条数据,估计给封ip
接口从1到十万多,因为中间有些rss是失效的,被删除所以没数据。我是用count进行判断的,连续30次获取到的数据都为空即退出。
附上代码;
```
import requests
import json
import csv
rows = []
num = 3000
count = 0
headers = {
'Host': 'api.qingmang.me',
'Connection': 'close',
'User-Agent': 'Mango 3.0.0 (iPhone 6s Plus; ios-iphone 13.3.1; zh_CN)'
}
for n in range(0, 500):
url = 'http://api.qingmang.me/v2/pool.list.info?list=k'
num = num + 1
url = url + str(num)
row = []
# 打印本次请求地址
print(url)
# 发送请求,获取响应结果
response = requests.get(url=url, headers=headers, verify=False)
text = response.text
# 将响应内容转换为Json对象
res_json = json.loads(text)
if str(res_json['ok']) == 'True':
count = 0
# 从Json对象获取想要的内容
temp = res_json['listInfo']
if 'listId' in temp:
id = temp['listId']
else:
id = ''
if 'contentType' in temp:
contentType = temp['contentType']
else:
contentType = ''
if 'name' in temp:
name = temp['name']
else:
name = ''
if 'rssUrl' in temp:
rssUrl = temp['rssUrl']
else:
rssUrl = ''
if 'sourceUrl' in temp:
sourceUrl = temp['sourceUrl']
else:
sourceUrl = ''
# 生成行数据
row.append(str(id))
row.append(str(contentType))
row.append(str(name))
row.append(str(rssUrl))
row.append(str(sourceUrl))
# 保存行数据
rows.append(row)
else:
print("该节点没有rss")
print(count)
count = count + 1
# 由于接口部分rss源失效,因此判定连续30次没有获取数据即退出爬取
if count > 30:
print("已经到尽头了,最后id为:k" + str(num))
break
# 生成Excel表头
header = ['Id','类型','名称','rss订阅源地址','原始地址']
# 将表头数据和爬虫数据导出到Excel文件
with open('D:\\rss.csv', 'w', encoding='gb18030',newline='') as f:
f_csv = csv.writer(f)
f_csv.writerow(header)
f_csv.writerows(rows)
``` 爬虫大佬 没有爬到什么东西。。。 有啥好的订阅吗? yanyaneboy 发表于 2020-10-1 20:23
没有爬到什么东西。。。
类型是公众号的是订阅地址是隐藏的,类型是rss的话就有订阅源地址。刚测试了一下,count=30还是太小了,中间估计是有订阅源删除了,还是能爬取到东西的 wvwv 发表于 2020-10-1 21:10
有啥好的订阅吗?
寻找中。。。。。。。 有学习资源吗?我也想学
有学习资源吗?我也想学
页:
[1]