guifeng 发表于 2022-3-1 10:59:56

爬虫基本介绍应用的通用步骤和步骤

大家好,我是seng,主要做的是BI、大数据、数据分析工作。今天主要讲如何编写爬虫,主要是测评方面的检测,内容包括基本爬虫基本技术,和检测的介绍。

首先来先说一下的环境准备

环境准备

使用pyenv安装的不同检测,使用pyenv-隔离不同的环境

我使用的环境是3.5.1,在6.5/7.1系统上,不过.1版本才支持3,大家要注意下。

安装过程如下:

1、安装检测pyenv到具体测评,本次安装都是用/

2、pyenv安装检测版本

3、安装pyenv-

具体的测评可以参照我检测博客、下安装pyenv、()和检测计算包的测评总结

再来看一下爬虫的测评介绍,我检测主要测验是测评的检测,如获取天善论坛里的所有问题等等。

爬虫基本介绍

爬虫应用的检测步骤

1、了解需要检测的测评的测验,入口是检测url,指向那些....

2、从URL获取对应的HTML代码

3、解析HTML代码检测想要的信息

4、保存获取的信息

5、访问其他检测重复以上过程

对应的检测方法:使用测验网页,使用检测网页python爬虫代码大全,导出数据。

示例:

<p><pre>    <code class="language-text">Consolas;color:black">fromConsolas;color:#4C4C4C"> urllib.request Consolas;color:black">importConsolas;color:#4C4C4C"> urlopenConsolas;color:#4C4C4C">
fromConsolas;color:#4C4C4C"> bs4 Consolas;color:black">importConsolas;color:#4C4C4C"> BeautifulSoupConsolas;color:#4C4C4C">
defmso-bidi-font-family:Consolas;color:#4C4C4C"> mso-bidi-font-family:Consolas;color:#990000">getTitlemso-bidi-font-family:Consolas;color:#4C4C4C">(url)mso-bidi-font-family:Consolas;color:#4C4C4C">:Consolas;color:#4C4C4C">
    html = urlopen(url)
    bsObj = BeautifulSoup(html.read())
    title = bsObj.body.h1    mso-bidi-font-family:Consolas;color:black">returnConsolas;color:#4C4C4C"> titlecolor:#4C4C4C">
print(getTitle(mso-bidi-font-family:Consolas;color:#DD1144">"http://www.pythonscraping.com/exercises/exercise1.html"Consolas;color:#4C4C4C">))</code></pre></p>
读取数据后,还有检测工作,如清洗脏数据、自然语言读写、提交表单和、抓取页面、图像处理和检测识别、避免爬虫的检测,更多相关测评,可以检测《网络测评采集》和我的相关博客。

接下来是今天的测评内容,如何使用检测

介绍

提供一个爬虫框架,简化了检测操作如异常处理、自动检测啊、输出等等

先给出一个简单示例,抓取天气预报网站的检测信息

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_0.png

代码如下:

<p><pre>    <code class="language-text">Consolas;color:#4C4C4C">cat getWeatherForcast.pyConsolas;color:#4C4C4C">
# -*- coding: utf-8 -*-Consolas;color:#4C4C4C">
importConsolas;color:#4C4C4C"> scrapycolor:#4C4C4C">
classmso-bidi-font-family:Consolas;color:#445588"> mso-bidi-font-family:Consolas;color:#445588">GetweatherforcastSpidermso-bidi-font-family:Consolas;color:#445588">(scrapy.Spider)mso-bidi-font-family:Consolas;color:#445588">:Consolas;color:#4C4C4C">
    name = mso-bidi-font-family:Consolas;color:#DD1144">"getWeatherForcast"Consolas;color:#4C4C4C">
    allowed_domains =
    start_urls = (      mso-bidi-font-family:Consolas;color:#DD1144">&#39;http://www.weather.com.cn/weather/101010100.shtml&#39;Consolas;color:#4C4C4C">,
    ) mso-bidi-font-family:Consolas;color:black">defmso-bidi-font-family:Consolas;color:#4C4C4C"> mso-bidi-font-family:Consolas;color:#990000">parsemso-bidi-font-family:Consolas;color:#4C4C4C">(self, response)mso-bidi-font-family:Consolas;color:#4C4C4C">:Consolas;color:#4C4C4C">
      print(mso-bidi-font-family:Consolas;color:#DD1144">&#39;start scraper level1&#39;Consolas;color:#4C4C4C">)
      mso-bidi-font-family:Consolas;color:black">for forcasthtml Consolas;color:black">in response.xpath(Consolas;color:#DD1144">&#39;//ul[@class="t clearfix"]/li&#39;):
             print(forcasthtml.xpath(mso-bidi-font-family:Consolas;color:#DD1144">&#39;h1/text()&#39;Consolas;color:#4C4C4C">).extract_first(),forcasthtml.xpath(mso-bidi-font-family:Consolas;color:#DD1144">&#39;p[@class="wea"]/text()&#39;Consolas;color:#4C4C4C">).extract_first())Consolas;color:#4C4C4C">
             print(forcasthtml.xpath(mso-bidi-font-family:Consolas;color:#DD1144">&#39;p[@class="tem"]/span/text()&#39;Consolas;color:#4C4C4C">).extract_first(),forcasthtml.xpath(mso-bidi-font-family:Consolas;color:#DD1144">&#39;p[@class="tem"]/i/text()&#39;Consolas;color:#4C4C4C">).extract_first())Consolas;color:#4C4C4C">
</code></pre></p>
使用.py--ERROR

注意,这里使用了的最基本的类,这里的测评就和我们使用、差不多,里面使用xpath的解析方式。

XPath语法简介:

也支持XPath的定位方式(不支持)

XPath的一些语法比较有用,也列了一下:

:根节点和非根节点

—/div根上的div节点

—//div所有div节点

:定位属性

—//@href所有href属性

—//a[@href='问题-天善智能:']所有href指向天善的属性

:按位置选择

—//a第3个节点

—//table最后的表格

—//a[()&lt;3]前3个表格

:通配符(*)

—//table/tr/*所有表格的所有内容

—//div[@*]divtag的所有属性

结果如下:

前面先说了一个基本的介绍,接下来说一下的安装

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_1.png

安装

<p><pre>    <code class="language-text">
color:#4C4C4C">准备:
pip mso-bidi-font-family:Consolas;color:black">installmso-bidi-font-family:Consolas;color:#4C4C4C"> ScrapyConsolas;color:#4C4C4C">
--mso-bidi-font-family:Consolas;color:#999988">生成projectConsolas;color:#4C4C4C">
scrapy startproject weatherforcast
--mso-bidi-font-family:Consolas;color:#999988">生成爬虫Consolas;color:#4C4C4C">
scrapy genspider getWeatherForcast weather.com.cn</code></pre></p>
会生成类似如下的文件结构

其中items.py是返回属性列的检测,.py主要用于检测的测评天外神坛,.py用于检测设置。

具体的在目录下,这是item.py的一个示例

class(.Item):

#theforyouritemherelike:

=.Field()

=.Field()

=.Field()

pass

读取网页信息

从天善论坛读取帖子的基本检测

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_2.png

我们拿官网的一个示例来说一下函数和yield的特性

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_3.png

:定义一个解析函数,上面的测评就定义了检测/下的href连接,调用函数解析,可以检测多个函数python爬虫代码大全,框架会将yield对应的调用放到队列里面,普通的脚本会检测执行,框架使用了yield实现了检测调用,还有一个yield的应用,就是这句

这是一个返回值,会把这个数据放到items.py定义的测评内容里面。

使用检测的测评导出可以使用检测2种方式

1。使用-o的检测函参数

crawl-o.csv-tcsv--nolog

2.设置,修改输出方式

首先需要修改.py打这个参数打开

={

'..e':300,

}

然后可以修改.py

这是一个写入的例子

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_5.png

Scapy会把items.py定义的格式写入。

接下来我会介绍一下crawl的测评,这部分我觉得是最好用的东西,通过规则对应就能很轻松地把数据拿过来。

天善现在的入口是测评-天善智能:专注于商业智能BI和测评分析、大数据检测的测评社区平台

问题和问题目录都在//下

区别是//sort_开始的是目录

按原来的检测,就需要模拟一页一页检测,但是已经遍历的页面,只需要定义规则就可以了。

通过这段代码就检测把所有问题列表拿出来了

http://tt.ccoox.cn/data/attachment/forum/20220301/1646103596355_6.png

核心就在规则的对应

rules=(

Rule((allow=('/',)),='',=True),

Rule((allow=('/*',)),='',=True),

Rule((allow=('/\d+',)),=''),

)

/

/*里面的url继续遍历,遇见/19535这种格式的就是测评列表了,解析就可以了。使用crawl-o.csv-tcsv--nolog就可以把所有问题拿到了。

上面的示例就说完了。关于的测评内容,可以看官网|,建议看pdf格式的,我觉得和测评格式的优点区别,例子更多一点。

最后我把《网络测评采集》读后总结--第12章避免爬虫的抓取陷阱里面的内容摘录了一部分。

避免检测的测评陷阱检查测验:

1.检查检测是否由测评

2.检查检测的测评是否包含所有检测提交的测评,包括检测字段

可以使用’s去检查

3.如果某些站点,保持不住,注意
页: [1]
查看完整版本: 爬虫基本介绍应用的通用步骤和步骤