Я использую Windows 10 с Python 3 и Scrapy. Вот ссылка на сайт, который мне нужен для разбора адреса электронной почты
https://find.plasticsurgery.org/city/new-york
чтобы получать по электронной почте от отдельных людей, нужно щелкать каждый раз, но я получил POST-запрос из сетевого раздела и разработал паука-скрапа, но все равно он не разбирает письма.
url = "https://find.plasticsurgery.org/default.aspx/GetMemberInfo"
and the payload = {"memberId":"102971","searchId":"38066000"}
ниже моего кода паука
from scrapy.http import Request, FormRequest
from scrapy.utils.response import open_in_browser
from time import sleep
import scrapy
import csv
import json
import urllib
# urllib.parse.urlencode()
class PlasticsurgerySpider(scrapy.Spider):
name = 'plasticsurgery'
url = "https://find.plasticsurgery.org/default.aspx/GetMemberInfo"
start_urls = [url]
def parse(self, response):
payload = {"memberId":"102971","searchId":"38066000"}
yield Request(response.url, self.parse_page, method="POST", body=urllib.parse.urlencode(payload))
# yield FormRequest.from_response(
# response=response,
# formdata=payload,
# callback=self.parse_page,
# )
def parse_page(self, response):
# data = json.loads(response.body)
# print(data)
# open_in_browser(response)
email = response.xpath('//*[@class="btn btn-default card-btn email"]//@href').extract_first()
email = email.replace('mailto:','')
yield {
'email':email
}
конец результатов, которые я нашел, просто {'email': '#'}
мы ожидаем результата для адреса электронной почты, такого как {'email': any@anyemail.com enj