鱼C论坛

 找回密码
 立即注册
查看: 1078|回复: 4

抓取新浪的新闻标题和链接,出问题可以运行无数据!

[复制链接]
发表于 2018-5-14 10:03:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# coding:utf-8
import requests
from bs4 import BeautifulSoup
url = "http://news.sina.com.cn/"
# 请求新浪新闻的URL,获取其text文本
wbdata = requests.get(url).text
# 对获取到的文本进行解析
soup = BeautifulSoup(wbdata,'html.parser')
# 从解析文件中通过select选择器定位指定的元素,返回一个列表
news_titles = soup.select("div.list_01 >ul.list_14 > li.topli14")

# 对返回的列表进行遍历
for n in news_titles:
    # 提取出标题和链接信息
    title = n.get_text()
    link = n.get("href")
    data = {
        '标题':title,
        '链接':link
    }
    print(data)
运行后,wbdata获取代码可以print显示,但是新闻标题和链接无法获取,news_titles是空的,怎么样定位新闻标题试过好几个方法都不行呀!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-14 10:42:29 | 显示全部楼层
用JS写的代码缘故吧.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-14 13:06:58 | 显示全部楼层
用python也可以抓取js代码的吧???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-14 17:02:40 | 显示全部楼层
请使用无头浏览器这个王牌杀手锏。phantomjs和selenium.webdriver。然后你会发现99%的网页轻松搞定,当然效率可能没request这种高。除了flash页面好像还不行。不过基本上没有网站用flash做信息页面吧。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-15 15:08:39 | 显示全部楼层
# coding:utf-8
import requests
from bs4 import BeautifulSoup
url = "http://news.sina.com.cn/"
# 请求新浪新闻的URL,获取其text文本
wbdatatemp = requests.get(url)
wbdatatemp.encoding = 'UTF-8'
wbdata = wbdatatemp.text
# 对获取到的文本进行解析
soup = BeautifulSoup(wbdata,'html.parser')
# 从解析文件中通过select选择器定位指定的元素,返回一个列表
news_titles = soup.select("ul.list_14 > li.topli14 > a ")

# 对返回的列表进行遍历
for n in news_titles:
    # 提取出标题和链接信息
    title = n.get_text()
    link = n.get("href")
    data = {
        '标题':title,
        '链接':link
    }
    print(data)
千辛万苦自己找到了问题,正确的代码,还有一点问题,这个是每类标题的大标题新闻,小标题的新闻要去掉属性
第一个程序出错问题在news_titles = soup.select("div.list_01 >ul.list_14 > li.topli14")
大于号 ' > ' 前后都要有空格。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-30 04:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表