Python 美化组不分析整个页面内容

Python 美化组不分析整个页面内容,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我试图从《纽约时报》获得一组url(即网页),但我得到了不同的答案,我确信我给出了正确的类,尽管它提取了不同的类。我的ny_url.txt有“;” 这是我的密码: import urllib2 import urllib from cookielib import CookieJar from bs4 import BeautifulSoup cj = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj

我试图从《纽约时报》获得一组url(即网页),但我得到了不同的答案,我确信我给出了正确的类,尽管它提取了不同的类。我的ny_url.txt有“;”

这是我的密码:

import urllib2
import urllib
from cookielib import CookieJar
from bs4 import BeautifulSoup
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
text_file = open('ny_url.txt', 'r')
for line in text_file:
    print line
    soup = BeautifulSoup(opener.open(line))
    links = soup.find_all('div', attrs = {'class' :  'element2'})
    for href in links:
        print href

其实没那么简单

您要查找的数据不在urllib2下载的页面源中

尝试打印
opener.open(line).read()
您将发现缺少数据

这是因为,该站点正在向
http://query.nytimes.com/svc/cse/v2pp/sitesearch.json?query=isis&page=1

其中在url中传递查询参数
query=isis
page=1

获取的数据为json格式,请尝试在浏览器中手动打开上面的url。你会在那里找到你的数据

因此,一种纯粹的python方法是调用此url并解析JSON以获得所需内容。 不需要火箭科学——只需使用正确的键解析dict

一种更简单的方法是使用像
Selenium
这样的Web驱动程序-导航到页面-并使用BeautifulSoup解析页面源代码。这样可以轻松获取整个内容


希望有帮助。如果您需要更多了解,请告诉我。

我期待这个结果”,“行可能包含“\n”字符。尝试
opener.open(第[:-1]行]
这是我得到的结果:根据您的建议编辑后。。。“清除所有过滤器”