我得到了这个网站https://www.ingenieurs-ensea.fr/annuaire/recherche
我需要在2023、2022、2021框中打勾,然后点击带有输入提交类型的搜索按钮
在接下来的页面上,我得到了一个包含700多个姓名和30多页描述的列表,我需要在Excel中有3个单独的表格(例如,姓名+等级和年份,从单独的列中的描述)
我尝试了各种各样的尝试,但没有成功
这是我最后一次尝试,但总体来说我有点迷路了
class Names(scrapy.Spider):
name = 'enseafr'
settings = get_project_settings()
start_urls = ['https://www.ingenieurs-ensea.fr/annuaire/recherche',]
def parse(self, response):
yield scrapy.FormRequest.from_response(
response,
formdata={'DiplomePromo[]':'2023'},
formname='DiplomePromo1',
callback= self.parse_2,
method= "POST",
)
def parse_2(self, response):
yield scrapy.FormRequest.from_response(
response,
formdata={'DiplomePromo[]': '2022'},
formname='DiplomePromo2',
callback=self.parse_3,
method="POST",
)
def parse_3(self, response):
yield scrapy.FormRequest.from_response(
response,
formdata={'DiplomePromo[]': '2021'},
formname='DiplomePromo3',
callback=self.after_parse,
method="POST",
)
def after_parse(self, response):
yield scrapy.FormRequest.from_response(
response,
formdata= {'': 'RECHERCHER'},
callback = self.data,
method = "POST",
)
def data(self, response):
items = IngItems()
for item in response.xpath('//div[@class="annuaire_result_list"'):
items['name'] = item.xpath('//*[@id="zoneAnnuaire_layout"]/div[3]/div[2]/div[3]/div[1]/div[2]/div[1]/a/text()').get()
items['description'] = item.xpath('//*[@id="zoneAnnuaire_layout"]/div[3]/div[2]/div[3]/div[1]/div[2]/div[2]/div[1]').get()
yield items
它只会产生一堆错误,所以我猜它是超级坏的
请使用此链接。我从“网络”选项卡中获得:
相关问题 更多 >
编程相关推荐