Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Beautifulsoup的网页抓取,带来不同的内容_Python_Html_Beautifulsoup_Html Parsing - Fatal编程技术网

Python 使用Beautifulsoup的网页抓取,带来不同的内容

Python 使用Beautifulsoup的网页抓取,带来不同的内容,python,html,beautifulsoup,html-parsing,Python,Html,Beautifulsoup,Html Parsing,如果你访问 在这里,你会看到第一季第一集的出版日期是2014年1月25日 这是我用来刮的代码 req = urllib2.Request('http://www.imdb.com/title/tt2375692/episodes?season=1') self.diziPage = urllib2.urlopen(req).read() self.diziSoup = BeautifulSoup(self.diziPage,from_encoding="utf8") 在

如果你访问 在这里,你会看到第一季第一集的出版日期是2014年1月25日

这是我用来刮的代码

    req = urllib2.Request('http://www.imdb.com/title/tt2375692/episodes?season=1')
    self.diziPage = urllib2.urlopen(req).read()
    self.diziSoup = BeautifulSoup(self.diziPage,from_encoding="utf8")
在我清理完网站之后,除了航班日期,一切都很好, 第一集的播出日期是2014年4月20日,当我访问时,它不在现在,其余的信息都是正确的


我想这可能是因为我做了一些实验,但没有成功。

我得到了2014年1月25日的
。首先,找到第一集
I.
的链接,然后通过获取链接父级的父级来获取插曲块,然后在其中按类查找日期:

import urllib2
from bs4 import BeautifulSoup


url = "http://www.imdb.com/title/tt2375692/episodes?season=1"

soup = BeautifulSoup(urllib2.urlopen(url))

episode1 = soup.find('a', {'title': 'I.'}).parent.parent
print episode1.find('div', {'class': 'airdate'}).text.strip()
印刷品:

25 Jan. 2014

看起来,imdb根据游客的位置提供不同的航班日期。
这就是为什么我会得到不同的数据,我想他们会检查访问者的ip或其他什么。

显示了2014年4月20日我在浏览器中访问该页面时的
20
。这很奇怪,当我运行脚本时,一切都如预期的那样。当我在我的服务器上运行它时,我得到了2014年4月20日。您认为imdb是否根据访问者的ip提供内容?第二件事也是最奇怪的事,除了第一集,我得到了正确的播出日期。thx@durdenk嗯,有几件事可能会有影响。首先,2014年4月20日的
20
从何而来是一个谜——页面的源代码中没有这样的日期。看起来解析时使用了不同的url。我只是复制并粘贴了您的代码,在本地运行,在我的服务器上得到了不同的输出,这可能是因为http头或访问者ip。似乎需要另一个网站来解析播放日期之类的。顺便说一句,4月20日来自第1集的发布日期,德国2014年4月20日我的服务器位于德国,尽管ı添加了相关的内容标题,但我只得到了第1集的不同内容,这很奇怪。