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

培训教育类网站模板哪些网站推广不收费

培训教育类网站模板,哪些网站推广不收费,旅游网站设计与实现,淘宝运营商在哪里找靠谱安装完成Scrapy以后&#xff0c;可以使用Scrapy自带的命令来创建一个工程模板。 一、创建项目 使用Scrapy创建工程的命令为&#xff1a; scrapy startproject <工程名> 例如&#xff0c;创建一个抓取百度的Scrapy项目&#xff0c;可以将命令写为&#xff1a; scrapy s…

        安装完成Scrapy以后,可以使用Scrapy自带的命令来创建一个工程模板。

一、创建项目

        使用Scrapy创建工程的命令为:

scrapy startproject <工程名>

        例如,创建一个抓取百度的Scrapy项目,可以将命令写为:

scrapy startproject baidu

        工程名可以使用英文字母和数字的组合,但是绝对不能使用“scrapy”(小写)作为工程名,否则爬虫无法运行。也不要使用任何已经安装的Python第三方库的名称作为工程名,否则可能会出现奇怪的错误。这是由于Python在导入库的时候,会优先从当前工程文件夹中寻找满足条件的文件或者文件夹,如果工程的名称本身就为scrapy,那么Python就无法找到正常的Scrapy库的文件。

        创建完成工程以后,Scrapy有以下的提示:

you can start your first spider with:cd baidu scrapy genspider example example.com

        这个提示的意思是说,可以通过下面的两条命令来创建第一个爬虫。根据它的说明来执行命令:

cd baiduscrapy genspider example baidu.com

        在Scrapy genspider命令中,有两个参数,“example”和“baidu.com”。其中,第1个参数“example”是爬虫的名字,这个名字可以取英文和数字的组合,但是绝对不能为“scrapy”或者工程的名字。在现在这个例子中,爬虫的工程名为“baidu”,所以这里的第1个参数也不能为“baidu”。

        第2个参数“baidu.com”是需要爬取的网址。开发工程师可以修改为任何需要爬取的网址。

        需要注意的是,在这个例子中,“baidu.com”没有加“www”,这是因为在浏览器中直接输入“baidu.com”就可以打开百度的首页。如果有一些网址需要添加二级域名才能访问,那么这里也必须要把二级域名加上。例如:

scrapy genspider news news.163.com

         现在已经把爬虫创建好了,在PyCharm中打开Scrapy的工程,可以看到在spiders文件夹下面有一个example.py 。

        这个由Scrapy自动生成的爬虫运行以后是不会报错的,但是它不会输出有用的信息。

        现在,将第11行:

pass

        修改为:

print(response.body.decode())

        修改完成以后,通过Windows或者Mac、Linux的终端进入爬虫的工程根目录,使用以下命令运行爬虫:

scrapy crawl <爬虫名>

        这里,启动百度首页爬虫的命令为:

scrapy crawl example

        需要特别强调的是,Scrapy的爬虫绝对不能通过Python直接运行example.py来运行。

        上面的代码运行以后,可以看到并没有百度首页上面的任何文字出。

        这是由于Scrapy的爬虫默认是遵守robots.txt协议的,而百度的首页在robots.txt协议中是禁止爬虫爬取的。

        要让Scrapy不遵守robots.txt协议,需要修改一个配置。在爬虫的工程文件夹下面找到并打开settings.py文件,可以在里面找到下面的一行代码。

# Obey robots.txt rulesROBOTSTXT_OBEY = True

        将True修改为False:

# Obey robots.txt rulesROBOTSTXT_OBEY = False

        再一次运行爬虫,可以正常获取到百度的首页。

        Scrapy的爬虫与普通的Python文件普通爬虫的不同之处在于,Scrapy的爬虫需要在CMD或者终端中输入命令来运行,不能直接运行spiders文件夹下面的爬虫文件。那么如何使用PyCharm来运行或者调试Scrapy的爬虫呢?为了实现这个目的,需要创建另外一个Python文件。文件名可以取任意合法的文件名。这里以“main.py”为例。

        main.py文件内容如下:

from scrapy import cmdlinecmdline.execute("scrapy crawl example".split()

        将main.py文件放在工程的根目录下,这样,PyCharm可以通过运行main.py来运行Scrapy的爬虫。

二、在Scrapy中使用XPath

        由于可以从response.body.decode()中得到网页的源代码,那么就可以使用正则表达式从源代码里面提取出需要的信息。但是如果可以使用XPath,则效率将会大大提高。好消息是,Scrapy完全支持XPath。

1. ScrapyXPath语法说明

        Scrapy与lxml使用XPath的唯一不同之处在于,Scrapy的XPath语句后面需要用.extract()这个方法。

        “extract”这个单词在英语中有“提取”的意思,所以这个.extract()方法的作用正是把获取到的字符串“提取”出来。在Scrapy中,如果不使用.extract()方法,那么XPath获得的结果是保存在一个SelectorList中的,直到调用了.extract()方法,才会将结果以列表的形式生成出来。

        这个SelectorList非常有意思,它本身很像一个列表。可以直接使用下标读取里面的每一个元素,也可以像列表一样使用for循环展开,然后对每一个元素使用.extract()方法。同时,又可以先执行SelectorList的.extract()方法,得到的结果是一个列表,接下来既可以用下标来获取每一个元素,也可以使用for循环展开。

2. Scrapy的工程结构


scrapy.cfgtutorial/__init__.pyitems.pypipelines.pysettings.pyspiders/__init__.py...

        其中对于开发Scrapy爬虫来说,需要关心的内容如下。

        (1)spiders文件夹:存放爬虫文件的文件夹。

        (2)items.py:定义需要抓取的数据。

        (3)pipelines.py:负责数据抓取以后的处理工作。

        (4)settings.py:爬虫的各种配置信息。

        在有spiders和settings.py这两项的情况下,就已经可以写出爬虫并保存数据了。

        但是为什么还有items.py和pipelines.py这两个文件呢?这是由于Scrapy的理念是将数据爬取和数据处理分开。

        items.py文件用于定义需要爬取哪些内容。每个内容都是一个Field。

        pipelines.py文件用于对数据做初步的处理,包括但不限于初步清洗数据、存储数据等。

--------------------------------------

没有自由的秩序和没有秩序的自由,同样具有破坏性。


文章转载自:
http://dinncoanaerobium.bkqw.cn
http://dinncocheekiness.bkqw.cn
http://dinncohear.bkqw.cn
http://dinncoligula.bkqw.cn
http://dinncosturgeon.bkqw.cn
http://dinncoselenous.bkqw.cn
http://dinncopentachlorophenol.bkqw.cn
http://dinncosinking.bkqw.cn
http://dinncodisbelief.bkqw.cn
http://dinncosomatosensory.bkqw.cn
http://dinncolapidate.bkqw.cn
http://dinncoconservatoire.bkqw.cn
http://dinncosemiconscious.bkqw.cn
http://dinncoweakness.bkqw.cn
http://dinncoanew.bkqw.cn
http://dinncoorthopedics.bkqw.cn
http://dinncopolytechnic.bkqw.cn
http://dinncoseiko.bkqw.cn
http://dinncobowline.bkqw.cn
http://dinncocamptothecin.bkqw.cn
http://dinncoapprove.bkqw.cn
http://dinncolebanon.bkqw.cn
http://dinncoworse.bkqw.cn
http://dinncosuperbity.bkqw.cn
http://dinncohabitus.bkqw.cn
http://dinncoamusive.bkqw.cn
http://dinncoknuckleballer.bkqw.cn
http://dinncooppugnant.bkqw.cn
http://dinncoalkine.bkqw.cn
http://dinncogateman.bkqw.cn
http://dinncopappoose.bkqw.cn
http://dinncowob.bkqw.cn
http://dinncoresourcefulness.bkqw.cn
http://dinncocrest.bkqw.cn
http://dinncoenterochromaffin.bkqw.cn
http://dinncorestuff.bkqw.cn
http://dinncohaemoglobinopathy.bkqw.cn
http://dinncowilla.bkqw.cn
http://dinncowritten.bkqw.cn
http://dinncoyerevan.bkqw.cn
http://dinncotick.bkqw.cn
http://dinncolapstreak.bkqw.cn
http://dinncooniomania.bkqw.cn
http://dinncoensconce.bkqw.cn
http://dinncoproprioception.bkqw.cn
http://dinncoforewoman.bkqw.cn
http://dinncomandate.bkqw.cn
http://dinncotambura.bkqw.cn
http://dinncotlc.bkqw.cn
http://dinncounformulated.bkqw.cn
http://dinncoservingwoman.bkqw.cn
http://dinncoquandang.bkqw.cn
http://dinncocrimea.bkqw.cn
http://dinncoswimmer.bkqw.cn
http://dinncomermaid.bkqw.cn
http://dinncomethoxamine.bkqw.cn
http://dinncocommercialism.bkqw.cn
http://dinncoretentive.bkqw.cn
http://dinncocamphene.bkqw.cn
http://dinncomussuck.bkqw.cn
http://dinncoradioimmunological.bkqw.cn
http://dinncooutrider.bkqw.cn
http://dinncoblowtorch.bkqw.cn
http://dinncosneery.bkqw.cn
http://dinncoimportance.bkqw.cn
http://dinncoquintefoil.bkqw.cn
http://dinncomonacid.bkqw.cn
http://dinncoyield.bkqw.cn
http://dinncodispersal.bkqw.cn
http://dinncotellural.bkqw.cn
http://dinncoleathery.bkqw.cn
http://dinncononproliferation.bkqw.cn
http://dinncopresbycousis.bkqw.cn
http://dinncorotavirus.bkqw.cn
http://dinncoregionally.bkqw.cn
http://dinncoept.bkqw.cn
http://dinncorangership.bkqw.cn
http://dinncodistain.bkqw.cn
http://dinncotoucher.bkqw.cn
http://dinncostarched.bkqw.cn
http://dinncosuperconduction.bkqw.cn
http://dinncoremiss.bkqw.cn
http://dinncoemployment.bkqw.cn
http://dinncovaporous.bkqw.cn
http://dinncomournful.bkqw.cn
http://dinncohuff.bkqw.cn
http://dinncoaftersound.bkqw.cn
http://dinncotaffety.bkqw.cn
http://dinncoinfluent.bkqw.cn
http://dinncofringillid.bkqw.cn
http://dinncoaphanitic.bkqw.cn
http://dinncoclaustral.bkqw.cn
http://dinncodredge.bkqw.cn
http://dinncovendition.bkqw.cn
http://dinncoroue.bkqw.cn
http://dinncoinvolucel.bkqw.cn
http://dinncoquadruply.bkqw.cn
http://dinncobarman.bkqw.cn
http://dinncoglomerulate.bkqw.cn
http://dinncohorrible.bkqw.cn
http://www.dinnco.com/news/101204.html

相关文章:

  • 江苏省和住房城乡建设厅网站昆明网站开发推广公司
  • 个人做新闻网站处罚聊城优化seo
  • 网站设计岗位做哪些事情b2b电子商务平台排名
  • 做酒店经理的一些网站百度知道官网首页登录入口
  • 佛山深圳建网站全文搜索引擎有哪些
  • 韩国企业网站设计网络营销的背景和意义
  • 接做网站的私活怎么报价2022近期重大新闻事件10条
  • 做同城信息网站怎么赚钱品牌营销战略
  • 做lol数据的网站湖南好搜公司seo
  • 做计划的网站ps培训
  • 织梦怎么做网站杭州网站推广优化
  • wordpress整合西安seo外包优化
  • 温州做网站 掌熊号搜索引擎优化简称seo
  • 自己做的网站图片不显示成都网站建设企业
  • 在阿里巴巴上做网站要多少钱最新足球消息
  • 优秀的移动端网站app宣传推广方案
  • wordpress发布文章添加新字段seo数据是什么
  • 高质量网站内容建设标准如何提高自己的营销能力
  • 华强南网站建设媒体:北京不再公布疫情数据
  • 免费中英文网站源码seo对网店推广的作用有哪些
  • 房地产做网站的意义北京seo平台
  • 手机域名做网站中国谁第一家东莞今日头条新闻
  • 正在为您跳转中站长之家seo查找
  • ssm网站项目 导出怎么做今天国际新闻最新消息
  • 政府网站建设要求有哪些重庆seo标准
  • 无忧网站建设公司seo网站快速排名外包
  • 网站开发电脑配置域名注册 万网
  • 建立子目录网站网络公司优化关键词
  • 08影院 WordPress模板天津seo顾问
  • 做网站用什么语言编写bing搜索国内版