失败的地方在于 网址中有时间戳,我没有搞定!
'''
1,网址:http://www.dgtle.com/
2,难点在于,soup。select找不到相应的节点。后来,我发现,用正则匹配还是最棒的方法,秒杀一切。
3,遇到了一个小细节,卡主了我20分钟。
p1 = r'subject":".*?","typeid"' 这个正则表达式,始终写不对,后来汇总与弄明白了," ' 这两个符号之间,多了一个空格,我始终匹配不上!
4,p1 = r'subject":"(.*?)","typeid"' 用括号将想要提取的内容提取出来,旁边那些东西都可以直接去掉了。剩下的东西提取出来放到列表当中,非常完美!
5,这里遇到了一个问题,链接内部有类似时间戳的东西,这可咋办啊?经过测试,就算把page页数改了,还是下载的同一个网页!
https://api.yii.dgtle.com/v2/news?token=&perpage=24&typeid=0
https://api.yii.dgtle.com/v2/news?token=&dateline=1554188534&page=2&perpage=24&typeid=0
https://api.yii.dgtle.com/v2/news?token=&dateline=1553669706&page=3&perpage=24&typeid=0
https://api.yii.dgtle.com/v2/news?token=&dateline=1553482235&page=4&perpage=24&typeid=0
https://api.yii.dgtle.com/v2/news?token=&dateline=1553023952&page=5&perpage=24&typeid=0
https://api.yii.dgtle.com/v2/news?token=&dateline=1552710093&page=6&perpage=24&typeid=0
这个时间戳有一些复杂,时间竟然越来越少!
'''
import time,re
import requests
from bs4 import BeautifulSoup
url = "http://news.dgtle.com/"
url2 = "https://api.yii.dgtle.com/v2/news?token=&perpage=24&typeid=389"
url3 = ["https://api.yii.dgtle.com/v2/news?token=&dateline=1553023911&page={}&perpage=24&typeid=0".format(str(i)) for i in range(1, 10)]
# 每输入一个页面链接,就得到页面上所有的信息
def get_pageinfo(url) :
wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text, "lxml")
#print(soup)
p1 = r'subject":"(.*?)","typeid"' #匹配标题
p2 = r'"author":"(.*?)","authorid"' #匹配作者
pattern1 = re.compile(p1)
pattern2 = re.compile(p2)
titles = pattern1.findall(soup.text)
authors = pattern2.findall(soup.text)
# 点赞,浏览量,信息很容易添加,但是文章链接,发布时间这两个比较难搞定。
#print(authors)
#titles = re.finditer(r'subject":"(.+)","typeid"', soup.text) #这个写法始终不成功,具体原因,我也不清楚!
for title,author in zip(titles, authors):
data={
"文章标题": title,
"文章作者": author
}
print(data)
i=1
for single_url in url3:
time.sleep(2)
get_pageinfo(single_url)
print(single_url)
print("第" + str(i) + "页下载完毕" )
i = i + 1
下面是运算结果:
{'文章标题': '——雷军","message":"性价比不是战术,性价比是一种价值观,性价比是一种商业模式,性价比是一种核心能力,背后是对效率的极致追求和死磕自己的决心。', '文章作者': 'DGtle丨尾巴君'}
{'文章标题': '童心制物 Makeblock,拓展儿童创造的边界', '文章作者': '杨益达'}
{'文章标题': '小米最新财报:2018 年总营收 1749 亿元,增长 52.6%', '文章作者': '不会飞的乔老爷'}
{'文章标题': '除了 iPad,iMac 也用上了新处理器', '文章作者': '奥大利奥'}
{'文章标题': '零界全面屏 + 升降式摄像头,vivo X27 系列正式登场', '文章作者': '不会飞的乔老爷'}
{'文章标题': '中国家电第一展,群雄逐鹿大战场', '文章作者': '小兰'}
{'文章标题': '黑鲨 2 屏幕用的 DC 调光是怎么一回事?', '文章作者': '不会飞的乔老爷'}
{'文章标题': '这本专拍塑料袋的摄影集,一点都不装', '文章作者': 'TOPYS'}
{'文章标题': '小熊电器 AWE 展台:主打萌系风', '文章作者': '不会飞的乔老爷'}
{'文章标题': '英伟达:部分 GTX 显卡将支持光线追踪', '文章作者': '不会飞的乔老爷'}
{'文章标题': '石头的新扫地机器人 T6,内外都有升级', '文章作者': 'baggiohua'}
{'文章标题': '小牛电动:2018 年共售出电动车 339585 辆', '文章作者': '不会飞的乔老爷'}
{'文章标题': '3199 元起,黑鲨游戏手机 2 正式发布', '文章作者': '不会飞的乔老爷'}
{'文章标题': '苹果官网上新:新一代 iPad mini 和 iPad Air 来了', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'CTS 接班人,凯迪拉克 CT5 正式发布', '文章作者': '鲸跃汽车'}
{'文章标题': '红米春季新品发布会:不止有 Redmi Note 7 Pro', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'Apple 春季发布会前瞻:更多苹果服务的「开幕戏」', '文章作者': 'nyctimee'}
{'文章标题': 'ColorOS 6 的推出,可能只是 OPPO 软件革新的第一步', '文章作者': '小淼-海'}
{'文章标题': 'Sensor Tower:《王者荣耀》累计营收已突破 45 亿美元', '文章作者': '不会飞的乔老爷'}
{'文章标题': '飞傲推出七款音频新品,音乐播放器开始全面屏时代?', '文章作者': '小淼-海'}
{'文章标题': 'AWE 2019 九阳展厅:小厨电 get 新技能', '文章作者': '不会飞的乔老爷'}
{'文章标题': '谷歌:2018 年共删除 23 亿条违规广告', '文章作者': '不会飞的乔老爷'}
{'文章标题': '洗个衣服有什么难的?博世 X-Spect 不这么想', '文章作者': '杨益达'}
{'文章标题': 'Google Pixel 4 系列长这样的话,你会买吗?', '文章作者': 'nyctimee'}
{'文章标题': '容声牵头出台的冰箱养鲜团体标准是什么?', '文章作者': '杨益达'}
https://api.yii.dgtle.com/v2/news?token=&dateline=1553023911&page=1&perpage=24&typeid=0
第1页下载完毕
{'文章标题': '童心制物 Makeblock,拓展儿童创造的边界', '文章作者': '杨益达'}
{'文章标题': '小米最新财报:2018 年总营收 1749 亿元,增长 52.6%', '文章作者': '不会飞的乔老爷'}
{'文章标题': '除了 iPad,iMac 也用上了新处理器', '文章作者': '奥大利奥'}
{'文章标题': '零界全面屏 + 升降式摄像头,vivo X27 系列正式登场', '文章作者': '不会飞的乔老爷'}
{'文章标题': '中国家电第一展,群雄逐鹿大战场', '文章作者': '小兰'}
{'文章标题': '黑鲨 2 屏幕用的 DC 调光是怎么一回事?', '文章作者': '不会飞的乔老爷'}
{'文章标题': '这本专拍塑料袋的摄影集,一点都不装', '文章作者': 'TOPYS'}
{'文章标题': '小熊电器 AWE 展台:主打萌系风', '文章作者': '不会飞的乔老爷'}
{'文章标题': '英伟达:部分 GTX 显卡将支持光线追踪', '文章作者': '不会飞的乔老爷'}
{'文章标题': '石头的新扫地机器人 T6,内外都有升级', '文章作者': 'baggiohua'}
{'文章标题': '小牛电动:2018 年共售出电动车 339585 辆', '文章作者': '不会飞的乔老爷'}
{'文章标题': '3199 元起,黑鲨游戏手机 2 正式发布', '文章作者': '不会飞的乔老爷'}
{'文章标题': '苹果官网上新:新一代 iPad mini 和 iPad Air 来了', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'CTS 接班人,凯迪拉克 CT5 正式发布', '文章作者': '鲸跃汽车'}
{'文章标题': '红米春季新品发布会:不止有 Redmi Note 7 Pro', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'Apple 春季发布会前瞻:更多苹果服务的「开幕戏」', '文章作者': 'nyctimee'}
{'文章标题': 'ColorOS 6 的推出,可能只是 OPPO 软件革新的第一步', '文章作者': '小淼-海'}
{'文章标题': 'Sensor Tower:《王者荣耀》累计营收已突破 45 亿美元', '文章作者': '不会飞的乔老爷'}
{'文章标题': '飞傲推出七款音频新品,音乐播放器开始全面屏时代?', '文章作者': '小淼-海'}
{'文章标题': 'AWE 2019 九阳展厅:小厨电 get 新技能', '文章作者': '不会飞的乔老爷'}
{'文章标题': '谷歌:2018 年共删除 23 亿条违规广告', '文章作者': '不会飞的乔老爷'}
{'文章标题': '洗个衣服有什么难的?博世 X-Spect 不这么想', '文章作者': '杨益达'}
{'文章标题': 'Google Pixel 4 系列长这样的话,你会买吗?', '文章作者': 'nyctimee'}
{'文章标题': '容声牵头出台的冰箱养鲜团体标准是什么?', '文章作者': '杨益达'}
https://api.yii.dgtle.com/v2/news?token=&dateline=1553023911&page=2&perpage=24&typeid=0
第2页下载完毕
{'文章标题': '童心制物 Makeblock,拓展儿童创造的边界', '文章作者': '杨益达'}
{'文章标题': '小米最新财报:2018 年总营收 1749 亿元,增长 52.6%', '文章作者': '不会飞的乔老爷'}
{'文章标题': '除了 iPad,iMac 也用上了新处理器', '文章作者': '奥大利奥'}
{'文章标题': '零界全面屏 + 升降式摄像头,vivo X27 系列正式登场', '文章作者': '不会飞的乔老爷'}
{'文章标题': '中国家电第一展,群雄逐鹿大战场', '文章作者': '小兰'}
{'文章标题': '黑鲨 2 屏幕用的 DC 调光是怎么一回事?', '文章作者': '不会飞的乔老爷'}
{'文章标题': '这本专拍塑料袋的摄影集,一点都不装', '文章作者': 'TOPYS'}
{'文章标题': '小熊电器 AWE 展台:主打萌系风', '文章作者': '不会飞的乔老爷'}
{'文章标题': '英伟达:部分 GTX 显卡将支持光线追踪', '文章作者': '不会飞的乔老爷'}
{'文章标题': '石头的新扫地机器人 T6,内外都有升级', '文章作者': 'baggiohua'}
{'文章标题': '小牛电动:2018 年共售出电动车 339585 辆', '文章作者': '不会飞的乔老爷'}
{'文章标题': '3199 元起,黑鲨游戏手机 2 正式发布', '文章作者': '不会飞的乔老爷'}
{'文章标题': '苹果官网上新:新一代 iPad mini 和 iPad Air 来了', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'CTS 接班人,凯迪拉克 CT5 正式发布', '文章作者': '鲸跃汽车'}
{'文章标题': '红米春季新品发布会:不止有 Redmi Note 7 Pro', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'Apple 春季发布会前瞻:更多苹果服务的「开幕戏」', '文章作者': 'nyctimee'}
{'文章标题': 'ColorOS 6 的推出,可能只是 OPPO 软件革新的第一步', '文章作者': '小淼-海'}
{'文章标题': 'Sensor Tower:《王者荣耀》累计营收已突破 45 亿美元', '文章作者': '不会飞的乔老爷'}
{'文章标题': '飞傲推出七款音频新品,音乐播放器开始全面屏时代?', '文章作者': '小淼-海'}
{'文章标题': 'AWE 2019 九阳展厅:小厨电 get 新技能', '文章作者': '不会飞的乔老爷'}
{'文章标题': '谷歌:2018 年共删除 23 亿条违规广告', '文章作者': '不会飞的乔老爷'}
{'文章标题': '洗个衣服有什么难的?博世 X-Spect 不这么想', '文章作者': '杨益达'}
{'文章标题': 'Google Pixel 4 系列长这样的话,你会买吗?', '文章作者': 'nyctimee'}
{'文章标题': '容声牵头出台的冰箱养鲜团体标准是什么?', '文章作者': '杨益达'}
https://api.yii.dgtle.com/v2/news?token=&dateline=1553023911&page=3&perpage=24&typeid=0
第3页下载完毕
{'文章标题': '童心制物 Makeblock,拓展儿童创造的边界', '文章作者': '杨益达'}
{'文章标题': '小米最新财报:2018 年总营收 1749 亿元,增长 52.6%', '文章作者': '不会飞的乔老爷'}
{'文章标题': '除了 iPad,iMac 也用上了新处理器', '文章作者': '奥大利奥'}
{'文章标题': '零界全面屏 + 升降式摄像头,vivo X27 系列正式登场', '文章作者': '不会飞的乔老爷'}
{'文章标题': '中国家电第一展,群雄逐鹿大战场', '文章作者': '小兰'}
{'文章标题': '黑鲨 2 屏幕用的 DC 调光是怎么一回事?', '文章作者': '不会飞的乔老爷'}
{'文章标题': '这本专拍塑料袋的摄影集,一点都不装', '文章作者': 'TOPYS'}
{'文章标题': '小熊电器 AWE 展台:主打萌系风', '文章作者': '不会飞的乔老爷'}
{'文章标题': '英伟达:部分 GTX 显卡将支持光线追踪', '文章作者': '不会飞的乔老爷'}
{'文章标题': '石头的新扫地机器人 T6,内外都有升级', '文章作者': 'baggiohua'}
{'文章标题': '小牛电动:2018 年共售出电动车 339585 辆', '文章作者': '不会飞的乔老爷'}
{'文章标题': '3199 元起,黑鲨游戏手机 2 正式发布', '文章作者': '不会飞的乔老爷'}
{'文章标题': '苹果官网上新:新一代 iPad mini 和 iPad Air 来了', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'CTS 接班人,凯迪拉克 CT5 正式发布', '文章作者': '鲸跃汽车'}
{'文章标题': '红米春季新品发布会:不止有 Redmi Note 7 Pro', '文章作者': '不会飞的乔老爷'}
{'文章标题': 'Apple 春季发布会前瞻:更多苹果服务的「开幕戏」', '文章作者': 'nyctimee'}
{'文章标题': 'ColorOS 6 的推出,可能只是 OPPO 软件革新的第一步', '文章作者': '小淼-海'}
{'文章标题': 'Sensor Tower:《王者荣耀》累计营收已突破 45 亿美元', '文章作者': '不会飞的乔老爷'}
{'文章标题': '飞傲推出七款音频新品,音乐播放器开始全面屏时代?', '文章作者': '小淼-海'}
{'文章标题': 'AWE 2019 九阳展厅:小厨电 get 新技能', '文章作者': '不会飞的乔老爷'}
{'文章标题': '谷歌:2018 年共删除 23 亿条违规广告', '文章作者': '不会飞的乔老爷'}
{'文章标题': '洗个衣服有什么难的?博世 X-Spect 不这么想', '文章作者': '杨益达'}
{'文章标题': 'Google Pixel 4 系列长这样的话,你会买吗?', '文章作者': 'nyctimee'}
{'文章标题': '容声牵头出台的冰箱养鲜团体标准是什么?', '文章作者': '杨益达'}
https://api.yii.dgtle.com/v2/news?token=&dateline=1553023911&page=4&perpage=24&typeid=0
第4页下载完毕