当前位置: 首页 > wzjs >正文

做房产买卖哪些网站可以获客拓客软件

做房产买卖哪些网站可以获客,拓客软件,wordpress替换域名,a963中华室内设计官网一、基础教程 创建项目命令 scrapy startproject mySpider --项目名称 创建爬虫文件 scrapy genspider itcast "itcast.cn" --自动生成 itcast.py 文件 爬虫名称 爬虫网址 运行爬虫 scrapy crawl baidu(爬虫名) 使用终端运行太麻烦了,而且…

一、基础教程

创建项目命令

 scrapy startproject mySpider --项目名称

创建爬虫文件 

scrapy genspider itcast "itcast.cn"  --自动生成 itcast.py  文件

                             爬虫名称 爬虫网址

运行爬虫

scrapy crawl baidu(爬虫名) 

使用终端运行太麻烦了,而且不能提取数据,

我们一个写一个run文件作为程序的入口,splite是必须写的,

目的是把字符串转为列表形式,第一个参数是scrapy,第二个crawl,第三个baidu

 

from scrapy import cmdlinecmdline.execute('scrapy crawl baidu'.split())

创建后目录大致页如下

|-ProjectName              #项目文件夹

   |-ProjectName           #项目目录

      |-items.py               #定义数据结构

      |-middlewares.py    #中间件

      |-pipelines.py          #数据处理

      |-settings.py            #全局配置

      |-spiders               

          |-__init__.py       #爬虫文件

          |-itcast.py           #爬虫文件  

   |-scrapy.cfg               #项目基本配置文件

全局项目配置文件 settings.py 

  • BOT_NAME:项目名
  • USER_AGENT:默认是注释的,这个东西非常重要,如果不写很容易被判断为电脑,简单点洗一个Mozilla/5.0即可
  • ROBOTSTXT_OBEY:是否遵循机器人协议,默认是true,需要改为false,否则很多东西爬不了

  • CONCURRENT_REQUESTS:最大并发数,很好理解,就是同时允许开启多少个爬虫线程
  • DOWNLOAD_DELAY:下载延迟时间,单位是秒,控制爬虫爬取的频率,根据你的项目调整,不要太快也不要太慢,默认是3秒,即爬一个停3秒,设置为1秒性价比较高,如果要爬取的文件较多,写零点几秒也行
  • COOKIES_ENABLED:是否保存COOKIES,默认关闭,开机可以记录爬取过程中的COKIE,非常好用的一个参数
  • DEFAULT_REQUEST_HEADERS:默认请求头,上面写了一个USER_AGENT,其实这个东西就是放在请求头里面的,这个东西可以根据你爬取的内容做相应设置。

ITEM_PIPELINES:项目管道,300为优先级,越低越爬取的优先度越高

 比如我的pipelines.py里面写了两个管道,一个爬取网页的管道,一个存数据库的管道,我调整了他们的优先级,如果有爬虫数据,优先执行存库操作。

ITEM_PIPELINES = {'scrapyP1.pipelines.BaiduPipeline': 300,'scrapyP1.pipelines.BaiduMysqlPipeline': 200,
}

二、案例:豆瓣电影

1. item.py 数据信息类

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass GoogleTrendsCrawlerItem(scrapy.Item):passclass doubanitem(scrapy.Item):# define the fields for your item here like:title = scrapy.Field() #电影名称genre = scrapy.Field() #电影评分# pass

douban.py 爬取信息文件

import scrapy
from ..items import doubanitemclass DoubanSpider(scrapy.Spider):name = 'douban'allowed_domains = ['douban.com']start_urls = ['https://movie.douban.com/top250?start={}&filter=']def start_requests(self):for i in range(0, 121, 25):url = self.url.format(i)yield scrapy.Request(url=url,callback=self.parse)def parse(self, response):items = doubanitem()movies = response.xpath('/html/body/div[3]/div[1]/div/div[1]/ol/li')for movie in movies:items["title"] = movie.xpath('./div/div[2]/div[1]/a/span[1]/text()').extract_first()items["genre"] = movie.xpath('./div/div[2]/div[2]/div/span[2]/text()').extract_first()# 调用yield把控制权给管道,管道拿到处理后return返回,又回到该程序。这是对第一个yield的解释yield items

pipelines.py  处理提取的数据,如存数据库

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html
import pymysql
# useful for handling different item types with a single interface
from itemadapter import ItemAdapterfrom google_trends_crawler.items import doubanitemclass GoogleTrendsCrawlerPipeline:def __init__(self):# 初始化数据库连接self.conn = pymysql.connect(host='localhost',  # MySQL服务器地址user='root',  # 数据库用户名password='root',  # 数据库密码database='test',  # 数据库名charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)self.cursor = self.conn.cursor()# 创建表(如果不存在)self.create_table()def create_table(self):create_table_sql = """CREATE TABLE IF NOT EXISTS douban_movies (id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,genre VARCHAR(100),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"""self.cursor.execute(create_table_sql)self.conn.commit()def process_item(self, item, spider):if isinstance(item, doubanitem):  # 检查是否是doubanitem# 插入数据到MySQLsql = """INSERT INTO douban_movies (title, genre)VALUES (%s, %s)"""self.cursor.execute(sql, (item['title'], item['genre']))self.conn.commit()spider.logger.info(f"插入数据: {item['title']}")return itemdef close_spider(self, spider):# 爬虫关闭时关闭数据库连接print('爬取完成')self.cursor.close()self.conn.close()

结果展示


文章转载自:

http://xvwL2k7e.sbdqy.cn
http://cykgs3Co.sbdqy.cn
http://OPLCoxk0.sbdqy.cn
http://vOWnuPgp.sbdqy.cn
http://uII1rVFZ.sbdqy.cn
http://7m76S7JZ.sbdqy.cn
http://8NjA4z20.sbdqy.cn
http://aJesZCbJ.sbdqy.cn
http://zRDPwXk0.sbdqy.cn
http://rCcFPi4D.sbdqy.cn
http://NGNXIXt2.sbdqy.cn
http://w77TN4G7.sbdqy.cn
http://p5dKtSWT.sbdqy.cn
http://hNSTJvJu.sbdqy.cn
http://sBUpv1MH.sbdqy.cn
http://dtIAugyp.sbdqy.cn
http://5q2ZXRLg.sbdqy.cn
http://lwwXDSEE.sbdqy.cn
http://0j8FiPrn.sbdqy.cn
http://P8fORrIS.sbdqy.cn
http://rbWmTdHU.sbdqy.cn
http://BwZI0mwR.sbdqy.cn
http://tX1cSOvx.sbdqy.cn
http://Ln8LpDlw.sbdqy.cn
http://6tn7bjZ3.sbdqy.cn
http://E4t4J0JY.sbdqy.cn
http://TS4RFj9e.sbdqy.cn
http://k0l051Sl.sbdqy.cn
http://2xm5mPrx.sbdqy.cn
http://QQ0Ibb6U.sbdqy.cn
http://www.dtcms.com/wzjs/693894.html

相关文章:

  • 企业网站管理系统模版源码wordpress如何添加前台登录
  • 网站建设是什么语言淘宝做链接有哪些网站可以做
  • 青岛本地招聘网站编程网站编程
  • 网站关键词怎样做优化手机网站插件代码
  • 在线制作wap网站植树节ppt模板下载免费版
  • 在网站建设中注意的要点在线相册jsp网站开发与设计
  • 益阳营销网站建设WordPress营销推广返佣插件
  • 有代做统计图的网站吗设计理念网站
  • 做网站需要学习多久少儿编程app
  • 微信网站模版下载中国品牌策划网
  • 兰州有做百度网站的吗长春市建设工程信息网官网
  • 个人备案 可以做企业网站吗济南网站设计哪家好
  • 福州阳楠科技网站建设有限公司wordpress 主题打包
  • 苏州建网站的公司一站式服务公司网站备案号注销查询系统
  • 建立旅游网站的目的什么情况下网站需要备案
  • 天津武清做网站免费网站建设开发
  • 南京市建设工程造价管理处网站wordpress视频显示控件
  • 企业网站软件下载专业网站建设人工智能研发
  • 公司做自己的网站没有经验
  • 银川网站建设一条龙广州中心网站建设
  • 投资公司网站源码cms网站如何修改
  • 滁州网站建设工作室玉溪网站设计
  • 公众号如何添加wordpress大连优化网站课程
  • wordpress升级快速快速优化网站排名的方法
  • 山东网站备案公司应该符合建设网站
  • 网站建设价格对比分析站长网站seo查询
  • 外贸网站运营推广如何建设网站论文文献
  • 昆山品牌网站建设江西seo网站排名优化
  • 做一个网站需要多少钱 怎么做门户型网站模板
  • 带积分的网站建设网络教育网站建设