Scrapy - 没有列表页面,但我知道每个项目页面的网址
我正在使用 Scrapy 来抓取网站。我想要抓取的项目页面如下所示: http://www.somepage.com /itempage/&page=x。其中 x
是从 1
到 100
之间的任意数字。因此,我有一个 SgmlLinkExractor
规则,其中为任何与此类似的页面指定了回调函数。
该网站没有包含所有项目的列表页面,因此我想以某种方式很好地抓取这些网址(从 1
到 100
)。这个人在这里< /a> 似乎有同样的问题,但无法弄清楚。
有人有解决办法吗?
I'm using Scrapy to scrape a website. The item page that I want to scrape looks like: http://www.somepage.com/itempage/&page=x. Where x
is any number from 1
to 100
. Thus, I have an SgmlLinkExractor
Rule with a callback function specified for any page resembling this.
The website does not have a listpage with all the items, so I want to somehow well scrapy to scrape those urls (from 1
to 100
). This guy here seemed to have the same issue, but couldn't figure it out.
Does anyone have a solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在
Spider
中列出所有已知的 URL类' start_urls 属性:You could list all the known URLs in your
Spider
class' start_urls attribute:如果只是一次性的,您可以创建一个包含所有链接的本地 html 文件
file:///c:/somefile.html
。开始抓取该文件并将somepage.com
添加到允许的域。或者,在解析函数中,您可以返回一个新的 Request,它是下一个要抓取的 url。
If it's just a one time thing, you can create a local html file
file:///c:/somefile.html
with all the links. Start scraping that file and addsomepage.com
to allowed domains.Alternately, in the parse function, you can return a new Request which is the next url to be scraped.