小编Moh*_*hdi的帖子

使用 scrapy 抓取基于 ASP.NET 的网站内容

我一直在尝试从这个网站http://www.golf.org.au抓取一些列表,它是一个基于 ASP.NET 的网站,我做了一些研究,看来我必须在 POST 请求中传递一些值才能创建该网站将数据提取到表中我这样做了,但仍然失败了,你知道我错过了什么吗?

这是我的代码:

# -*- coding: utf-8 -*-
import scrapy


class GolfscraperSpider(scrapy.Spider):
    name = "golfscraper"
    allowed_domains = ["golf.org.au","www.golf.org.au"]
    ids = ['3012801330', '3012801331', '3012801332', '3012801333']
    start_urls = []
    for id in ids:
        start_urls.append('http://www.golf.org.au/handicap/%s' %id)

    def parse(self, response):
        scrapy.FormRequest('http://www.golf.org.au/default.aspx?
s=handicap',
                           formdata={
                               '__VIEWSTATE': 
response.css('input#__VIEWSTATE::attr(value)').extract_first(),
                               'ctl11$ddlHistoryInMonths':'48',
                               '__EVENTTARGET': 
'ctl11$ddlHistoryInMonths',
                               '__EVENTVALIDATION' : 
response.css('input#__EVENTVALIDATION::attr(value)').extract_first(),
                               'gaHandicap' : '6.5',
                               'golflink_No' : '2012003003',
                               '__VIEWSTATEGENERATOR' : 'CA0B0334',
                           },
                           callback=self.parse_details)

    def parse_details(self,response):
        for name in response.css('div.rnd-course::text').extract():
            yield {'name' : name}
Run Code Online (Sandbox Code Playgroud)

asp.net scrapy web-scraping

2
推荐指数
1
解决办法
2027
查看次数

标签 统计

asp.net ×1

scrapy ×1

web-scraping ×1