基于scrapy框架爬取新浪体育部分板块内容

import scrapy
from selenium import webdriver
from sohuPro.items import SohuproItem
class SohuSpider(scrapy.Spider):
    name = 'sohu'
    # allowed_domains = ['www.xxx.com']
    start_urls = ['http://sports.sina.com.cn/']
    #需求:爬取新浪体育欧冠,西甲,意甲,德甲等5大板块中的新闻内容
    models_urls=[] #用来存储5大板块对应的url链接
    def __init__(self):
        self.bro=webdriver.Chrome(executable_path='D:\python\Reptiliane\爬虫\chromedriver.exe')
    def parse(self, response):

        #1.先对首页发起请求,解析出5大板块对应的url链接
        li_list=response.xpath('//*[@id="j_top"]/div[2]/div/ul[1]/li')
        print(len(li_list))
        #2.从li_list中解析出5大板块对应的url
        alist = [0,1,2, 3, 4]
        for index in alist:
            model_url=li_list[index].xpath('./a/@href').extract_first()
            print(model_url)
            self.models_urls.append(model_url)
        #对每一个板块的url进行请求
        for url in self.models_urls:
            yield scrapy.Request(url=url,callback=self.parse_detail)


        #每个板块的内容不是动态生成的,可以直接请求,为了熟悉中间件的作用,所以我们用selenium模块进行请求
    def parse_de

你可能感兴趣的:(scrapy,selenium)