我試圖從該頁面抽取數據 - http://catalog.umassd.edu/content.php?catoid=45&navoid=3554Scrapy蜘蛛無法找到上點擊加載網址
我想擴大與「顯示課程本部門」鏈接每個部分,然後拿到該頁面上每門課程的課程信息(文本)。
我已經寫了下面的腳本:
from scrapy.spiders import CrawlSpider, Rule, BaseSpider, Spider
from scrapy.linkextractors.lxmlhtml import LxmlLinkExtractor
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
from courses.items import Course
class EduSpider(CrawlSpider):
name = 'umassd.edu'
allowed_domains = ['umassd.edu']
start_urls = ['http://catalog.umassd.edu/content.php']
rules = (Rule(LxmlLinkExtractor(
allow=('.*/http://catalog.umassd.edu/preview_course.php?
catoid=[0-9][0-9]&coid=[0-9][0-9][0-9][0-9][0-9][0-9]',),
), callback='parse_item'),
def parse_item(self, response):
item = Course()
print (response)
現在,不管我給什麼START_URL,蜘蛛似乎無法永遠到達preview_course.php鏈接 - 我嘗試了一些變化。 腳本退出時根本沒有抓取任何/content.php
頁面。
這僅用於教育目的。
這是非常複雜,我只得到了尋找的AJAX鏈接和參數,但我不知道如何使用它們。非常感謝!我必須提到args是一個unicode類型,並將args轉換爲列表將使格式(* args)行正常工作。 – boltthrower
@boltthrower謝謝,我修復了args部分。 – Granitosaurus