我只是在深入研究Scrapy,所以请原谅这个基本的问题,但是为什么当我在Scrapy shell中使用view(response)时,它没有显示它所抓取的文件中的所有HTML?
我设置蜘蛛抓取一个页面(巴里Bonds在Baseball Reference上的页面),使用的代码与教程中的相同,只是更改了蜘蛛的名称和另存为的文件名。
一旦我刮了页面,我在Safari(在Mac上)中打开HTML,整个页面就显示出来了。
然后,回到终端,我使用以下命令:
scrapy shell fileLocationOnComputer
view(response)
它会打开Safari,显示页面的大部分内容都丢失了。
Here are two screenshots to depict my issue
谢谢你们能提供的帮助!
2条答案
按热度按时间fkaflof61#
shell
视图(响应)无法看到JavaScript动态加载的HTML部分的原因,也正是因为这个原因,Scrapy shell才不会显示所有HTMLmake disable
JavaScript和刷新oppend网址,然后你永远不会看到动态HTML。这就是为什么Scrapy视图(响应)不显示所有HTML。以Pandas拉静表
输出:
du7egjpx2#
这些表并不是真正的动态的,它们实际上只是在html注解中。
有两种方法可以实现:
1.使用BeautifulSoup提取
Comments
,然后解析它1.只需删除注解标记
这将得到所有的表。现在只需要通过特定的属性或
df_list
中的索引位置来取出你想要的表。要指定表,请执行以下操作:
输出: