基于scrapy框架爬取网易新闻源代码

本文介绍了一个使用Scrapy框架结合Selenium的网易新闻爬虫项目。爬虫实现了从网易新闻首页选取特定板块,进一步抓取新闻标题及内容,并通过自定义的Item Pipeline进行数据存储。通过调整XPath表达式精确匹配目标元素。
摘要由CSDN通过智能技术生成

创建一个项目,该项目代码:

import scrapy
from selenium import webdriver
from wangyiyunPro.items import WangyiyunproItem   #调用item模块

class WangyiyunSpider(scrapy.Spider):
    name = 'wangyiyun'
    # allowed_domains = ['www.xxx.com']    #可允许通过的域名
    start_urls = ['https://news.163.com/']

    models_urls = []     #首页静态爬取的url放到这个列表中

    def __init__(self):
        self.bro = webdriver.Chrome('chromedriver.exe')  #将selenium中谷歌浏览器导入类中 ,
    def parse(self, response):
        li_list = response.xpath('//*[@id="index2016_wrap"]/div[1]/div[2]/div[2]/div[2]/div[2]/div/ul/li')
        alist = [3,4,6,7]   #调用,只爬取列表中指定索引url
        for index in alist:
            model_url = li_list[index].xpath('./a/@href').extract_first()  #将url解析下来
            self.models_urls.append(model_url)  #存到列表中
        for url in self.models_urls:
            yield  scrapy.Request(url,callback=self.parse_model)  #将爬取下来的指定url发起请求,并且回调给parse_model函数
    def parse_model(self,response):
        div_list = response.xpath('/html/body/div/div[3]/div[4]/div[1]/div[1]/div/ul/li/div/div')
        for div in div_list:
            name = div.xpath('./div/div[1]/h3/a/text()').extract_first()   #将标题解析下来
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>