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

本文介绍如何利用Python的Scrapy框架,详细步骤解析爬取新浪体育特定板块的文章信息,包括设置爬虫项目、解析网页结构、处理反爬机制及数据存储等关键环节。
摘要由CSDN通过智能技术生成
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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值