Python 美化组不分析整个页面内容
我试图从《纽约时报》获得一组url(即网页),但我得到了不同的答案,我确信我给出了正确的类,尽管它提取了不同的类。我的ny_url.txt有“;” 这是我的密码: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
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]行]
这是我得到的结果:根据您的建议编辑后。。。“清除所有过滤器”