本帖最后由 a11040427 于 2020-11-5 10:38 编辑
为了学习scrapy所以用一个简单项目练练手
scrapy的设置和启动这里就不说了,都是一样的
爬虫主文件:
import scrapy
class ZixueSpider(scrapy.Spider):
name = 'zixue'
allowed_domains = ['x6d.com'] # 过滤二次请求的参数
start_urls = [f'https://www.x6d.com/html/18-{i}.html' for i in range(1,65)]
def parse(self, response):
# print(response.text)
url_list = response.xpath('//html/body/div/div/div/ul/li/div/div/a/@href').extract()
# print(url_list)
for url in url_list:
new_url = 'https://www.x6d.com' + url # 上面获取的url并不完整,这里拼接完整url
# print(new_url)
yield scrapy.Request(
url=new_url,
callback=self.parse2,
encoding='utf-8'
)
def parse2(self,response):
# print(response.url)
item = {}
item['教程标题'] = response.xpath('//html/body/div/div/div/h1/text()').extract_first()
info = response.xpath('//html/body/div/div/div/div[2]//p//text()').extract()
item['教程介绍'] = info[0]
item['网盘链接'] = info[1:]
yield item
在Terminal下输入scrapy crawl zixue -o zixue.csv
我自己只是运行了一下
源码我放这了,有需要的可以自己玩
这是爬下来的数据
|