Gunakan scrapy untuk merangkak Himalaya dan merangkak alamat PC. Respons pautan kemasukan adalah baik, tetapi respons seterusnya melihat alamat mudah alih. . . .
Kod labah-labah adalah seperti berikut:
class SpxmlySpider(scrapy.Spider):
name = 'ximalaya'
allowed_domains = ["ximalaya.com"]
# 保存每页链接
start_urls = ['http://www.ximalaya.com/dq/all/{}'.format(num) for num in range(2, 3)] #先改为第二页试试
def parse(self, response):
# 取出专辑链接
print(response)
mainurls = response.xpath('//p[@class="albumfaceOutter"]/a/@href').extract()
# for url in mainurls:
# yield Request(url = url, callback=self.parse_details)
print(mainurls[0])
yield Request(url = mainurls[0], dont_filter=True, callback = self.parse_details)
# TODO 为什么PC端访问会变成移动地址问题!!!!!!!!!!!!!!!!!
def parse_details(self, response):
item = XimalayaItem()
print(response)
......以下省略
Keluaran konsol:
A middlewares.RotateUserAgentMiddleware telah ditulis, ia berkesan, dan kandungan output juga boleh dilihat.
Adakah ia mencetuskan beberapa mekanisme anti-merangkak?
Sepatutnya kerana pengepala anda tidak mempunyai persediaan ejen pengguna
Konfigurasikan pengepala permintaan dengan berhati-hati Menentukan sama ada ia adalah terminal mudah alih biasanya bergantung pada ejen pengguna
.Anda boleh mengakses data tanpa apa-apa, yang juga menunjukkan bahawa tapak web sasaran tidak banyak memberi perhatian kepada anti-pautan