Scrap JS使用Scrapy和Python生成内容

时间:2018-01-16 13:36:39

标签: python scrapy

有一个部分由JS生成的网页: https://www.ncbi.nlm.nih.gov/genome/genomes/971

我想废弃FTP列中的链接。所有这些都是JS生成的。

默认情况下,scrapy只获取HTML而不执行JS。我怎样才能改变它?

1 个答案:

答案 0 :(得分:1)

如果您要抓取动态生成其内容的页面,首先要做的是查找被调用的API。在浏览器的开发工具中,在网络选项卡中查找XHR请求。对于您引用的页面,我可以看到

的请求

https://www.ncbi.nlm.nih.gov/genomes/Genome2BE/genome2srv.cgi?action=GetGenomes4Grid&genome_id=971&genome_assembly_id=&king=Bacteria&mode=2&flags=1&page=1&pageSize=100

如果查看响应,您会看到它包含页面上FTP列下的链接。您只需使用此API即可获得所需信息。

如果你真的想渲染页面并抓取它,我建议你使用Splash。将其与Scrapy集成的最佳方法是使用scrapy-splash库。