5分钟 学会scrapy 爬虫框架

python 爬取微博关键词搜索 # coding:utf-8 import re import random import requests import time import hashlib import json import MySQLdb import multiprocessing from django.utils.http import urlquote mysql_config = {"host": "*****8", "port": , 阅读详情

创建一个scrapy 项目
定义提取的item
编写网站的spider 并提取item
提取数据保存到数据库
#创建项目 scrapy startproject bmlink
在这里插入图片描述
![会显示这样的,scrapy.cfg :项目的配置文件
bmlink :python 模块
items.py item 文件
pipelines.py 管道
#定义item
保存爬取数据的容器

import scrapy 
class BmlinkSpiderItem(scrapy.Item):
title = scrapy.Field()
source_url = scrapy.Field()
desc = scrapy.Field()

#编写第一个spider

import hashlib
import re 
import scrapy
from urlparse import urljoin
from bnlink_spider.items import BmlinkSpiderItem
class BmlinkSpider(scrapy.Spider):
    name = 'bmlink'
    cate1_id =1
    cate2_id = 6
    source = '中国建材网‘
    allowed_domains =['bmlink.com']
    start_urls = ['https://www.bmlink.com/news/']
    def start_requests(self):
        for i in range(302):
           url = "https://www.bmlink.com/news/list-10-%s.html' % (str(i+1))
           if url is not None:
               yield scrapy.Request(url,callback=self.parse2)

def parse2(self,response):
    url = response.xpath('//*[@class="news_list2"]/ul/li/a[1]/@href').extract()
    for i in url:
        Item = BmlinkSpiderItem()
        source_url = urljoin("https://www.bmlink.com/",i)
        Item ['table_num'] = num
        if source_url is not None:
            yield scrapy.Request(
               source_url,
               callback= self.parse3,
               meta ={'Item':Item}
               )
              
        
        
 def parse3(self, response):
        '''详情页信息'''
        if response.status == 200:
            try:
                title = response.xpath('//h1[@class="c_red"]/text()').extract()[0]
                desc = response.xpath('//div[@class="newsinfo_cont"]').extract()[0]
                pattern = re.compile(r'【<strong>.*?</strong>】')
                desc = pattern.sub('', desc)
                desc = re.compile(r'<img .*?>')
                desc = pattern.sub('', desc)
                print (desc)
                print(title)
            except:
                title = None
                desc = None
                pass
            if title !=None:
                title = str(title).strip()

                Item = response.meta["Item"]
                Item["title"] = title
                Item["desc"] = desc
                Item["cate1_id"] = self.cate1_id
                Item["cate2_id"] = self.cate2_id
                Item["source"] = self.source
                Item["industry"] = 1

                yield Item


python 爬取今日头条关键词搜索 使用python 获取今日头条的关键词的文章 使用进程池 代码如下: # -*- coding: utf-8 -*- import requests import random import requests import json import time import hashlib from utils.img_to_tencent import img_to_tencent def md5(str): return hashlib.md5(str.encode('utf-8')).he 阅读详情

相关推荐

python读取微软邮箱的验证码

1首先得知道邮箱的账号和密码 2 开头smtp pop 代码奉上 # 读取邮件信息获取验证码 def recv_email_by_pop3(email_address, password): import imaplib # 这里的服务器根据需要选择 server = imaplib.IMAP4_SSL("outlook.office365.com",993) server.login(email_address, password) # 邮箱中的文件夹,默认为'IN

zhplz123的博客 2427

【人工智能】10分钟教你学会爬虫Scrapy

Scrapy是一个非常简单方便的爬虫框架了,本篇文章一步一步的教你几分钟学会爬虫。简单了解一下Scrapy的概念。它是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。本文是讲述的全过程,会比较详细。

沙师弟专栏 2万+

微信公众号扫码关注并回复信息

1 接收微信 服务器get 请求发过来的参数 @csrf_exempt def weixin_main(request): # get 请求是验证 if request.method == "GET": # 接收微信服务器get请求发过来的参数 signature = request.GET.get('signature', None) ...

zhplz123的博客 2301

Python Scrapy爬虫框架学习!半小时掌握它!

Scrapy 是用Python实现一个为爬取网站数据、提取结构性数据而编写的应用框架。 一、Scrapy框架简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates W...

Pythoncxy的博客 299

【Python爬虫5分钟快速掌握 scrapy 爬虫框架

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料、代码以及交流解答点击即可加入 1. scrapy简介 scrapy是基于事件驱动的Twisted框架下用纯python写的爬虫框架。很早之前就开始用scrapy来爬取网络上的图片和文本信息,一直没有把细节记录下来。这段时间,因为工作需要又重拾scrapy爬虫,本文和大家分享下,包你一用就会,

【CSDN官方推荐】 857

5分钟快速掌握 scrapy 爬虫框架

1. scrapy简介scrapy是基于事件驱动的Twisted框架下用纯python写的爬虫框架。很早之前就开始用scrapy来爬取网络上的图片和文本信息,一直没有把细节记录下来。这段...

Python中文社区 411

视频教程-从零开始学scrapy网络爬虫-其他

从零开始学scrapy网络爬虫 资深网络爬虫、机器学习专家,《从零开始学Sc...

weixin_34233397的博客 523

scrapy框架_5分钟快速掌握 scrapy 爬虫框架

1. scrapy简介scrapy是基于事件驱动的Twisted框架下用纯python写的爬虫框架。很早之前就开始用scrapy来爬取网络上的图片和文本信息,一直没有把细节记录下来。这段时间,因为工作需要又重拾scrapy爬虫,本文和大家分享下,包你一用就会, 欢迎交流。1.1 scrapy框架scrapy框架包括5个主要的组件和2个中间件Hook。ENGIINE:整个框架的控制中心, ...

weixin_39799825的博客 138

视频教程-精通Scrapy网络爬虫-Python

精通Scrapy网络爬虫 10年编程开发经验,2年IT行业教学经验,曾在清华...

weixin_30413269的博客 326

视频教程-Python网络爬虫之--Scrapy框架的使用-Python

Python网络爬虫之--Scrapy框架的使用 专注提供优质教学内容 ...

weixin_30830503的博客 227

2025 年最值得学的 5爬虫框架Scrapy 已落伍?)

2025爬虫技术框架全景解析:经典与AI并存的时代。Scrapy仍是企业级数据采集的基石,其稳定性和工程化思维不可替代;Crawl4AI代表AI原生框架的崛起,通过自然语言交互重构数据采集范式;Playwright持续领跑动态页面处理,成为复杂交互场景的首选;Portia为非技术人员提供零代码可视化方案;Thunderbit则以轻量化AI工具满足快速开发需求。技术选型应注重场景适配,掌握"经典+AI"组合才能保持竞争力。

weixin_41943766的博客 1630

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

原因:修改 django 2 以上 所有 app 下的 init 文件 不能引入同级的views 和urls 也 不能引入 models 只是一个初始化,由问题2 引出问题3 将init 文件下models 1 错误原因2 :django.core.exceptions.AppRegistryNotReady: Apps aren’t loaded yet. app 不能加载,修改 dj...

zhplz123的博客 4246

用python自动生成出生日期

限制条件,用户的出生日期必须是成年以上 # 生成出生日期 def create_assist_date(): datestart = "1970-06-28" dateend = '2000-06-28' datestart = datetime.datetime.strptime(datestart, '%Y-%m-%d') dateend = datetime.datetime.strptime(dateend, '%Y-%m-%d') date_list = [

zhplz123的博客 3809

微信公众号扫码登陆Python版

基于python 实现公众扫码登陆 前提 申请公众号服务,配置相关信息,并在相关平台进行配置,就这么多东西 实现逻辑,使用临时临时二维码,带参数的二维码扫码登陆 流程,用户已经扫码关注,在登陆页面直接扫码登陆, 用户未关注,则需要点击关注后,直接登录, 我们使用带参数的场景值来区别是哪个用户进行扫码登陆 场景值用户可以自定义,但是必须是唯一的,我用的时间戳 我现在要做的功能,有账户绑定需求,并且是前后端分离的情况下, 流程1 当用户已经关注过,并且绑定账号,直接扫码登陆, 当用户已经关注过,未绑定,需要扫

zhplz123的博客 2285

Python版,百度站长链接推送到百度

为了提高搜索效率,也让搜索引擎更容易发现自己的网站,需要把自己的链接提交到百度 百度站长链接 链接提交方式 1主动推送,用代码写推送链接,建议将当天产出的新链接推送给百度 2sitemap 以站点地图的方式推送,将sitemap 提交到百度,百度会周期性的抓取sitemap 推送实例Python版 多个URL实例 import requests urls = [ 'https://...

zhplz123的博客 2111

基于python 将表格 转化成html

安装包 pip install xlsx2html xlsx 表格样式如 将excel 表格的内容转化成html ,并在页面中显示 直接上代码 # -*- coding: utf-8 -*- # 将表格 转化成html import re import os from xlsx2html import xlsx2html def re_html(name,proname): tb1_html = str(name).replace('.xlsx','c.html') tb2_html

zhplz123的博客 2097

spark对于多Python版本配置

spark版本推荐: >= 2.4.0 假设新的python3的路径为/usr/bin/python3 整体规划: pyspark spark-submit 调用python2 pyspark3 spark-submit3 调用python3 配置方式: cp pyspark pyspark3 vim pyspark3 在最后一行exce语句上面添加如下的语句: export PY...

zhplz123的博客 2048
上一篇: Python版,百度站长链接推送到百度
下一篇: Python 列表操作
瓶瓶罐罐的
博客等级 码龄8年 28粉丝 50原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓶瓶罐罐的

如果帮助到你了,请来点实际的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值