成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

scrapy的學(xué)習(xí)之路1(簡單的例子)

guqiu / 2806人閱讀

摘要:的安裝環(huán)境是后面創(chuàng)建用來運(yùn)行的名網(wǎng)站域名在創(chuàng)建可以通過此文件運(yùn)行本文件名父文件名路徑和父文件名設(shè)置環(huán)境,必須以上運(yùn)行可能在下會(huì)報(bào)錯(cuò)準(zhǔn)備工作完在下獲取列表頁每一個(gè)的把獲取到的交給

scrapy的安裝 環(huán)境:python3.6 1
    pip install -i https://pypi.douban.com/simple/  scrapy

2
    scrapy startproject ArticleSpider

main.py是后面創(chuàng)建用來運(yùn)行scrapy的


3
cd ArticleSpider

scrapy genspider jobbole blog.jobbole.com
                 ------- ----------------
                 spider名    網(wǎng)站域名


4

在ArticleSpider創(chuàng)建main.py,可以通過此文件運(yùn)行scrapy

from scrapy.cmdline import execute
import sys
import os


# print(__file__) #本文件名
# print(os.path.dirname(__file__)) #父文件名
# print(os.path.abspath(os.path.dirname(__file__))) #路徑和父文件名

sys.path.append(os.path.dirname(os.path.abspath(__file__))) #設(shè)置環(huán)境,必須

execute(["scrapy", "crawl", "jobbole"])

5

以上運(yùn)行可能在win下會(huì)報(bào)錯(cuò)


6

settings.py

準(zhǔn)備工作完
1

在jobbole.py下

# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request
import re
from urllib import parse


class JobboleSpider(scrapy.Spider):
    name = "jobbole"
    allowed_domains = ["blog.jobbole.com"]
    start_urls = ["http://blog.jobbole.com/all-posts/"]
    
    def parse(self, response):
        # 獲取列表頁每一個(gè)item的url
        post_urls = response.css("#archive .floated-thumb .post-thumb a::attr(href)").extract()
        for post_url in post_urls:
            print(post_url)
            yield Request(url=parse.urljoin(response.url, post_url), callback=self.parse_info)  # 把獲取到的url交給詳情頁的方法處理
        # 獲取下一頁的url
        next_url = response.css(".next.page-numbers::attr(href)").extract_first()
        if next_url:
            yield Request(url=parse.urljoin(response.url, next_url), callback=self.parse)  # 把獲取到的下一頁的url交給自己的方法處理
    
    """獲取詳情頁的信息"""
    def parse_info(self, response):
        # 以下都是獲取詳情頁信息
        res_title = response.xpath("http://div[@class="entry-header"]/h1/text()").extract_first()
        res_date = response.xpath("http://p[@class="entry-meta-hide-on-mobile"]/text()").extract_first().strip().replace("·", "").strip()
        res_zhan = response.xpath("http://span[contains(@class, "vote-post-up")]/h10/text()").extract_first()
        res_content = response.xpath("http://div[@class="entry"]/p/text()").extract_first()

        res_cate_a = response.xpath("http://p[@class="entry-meta-hide-on-mobile"]/a/text()").extract_first()
        res_cate_b = [i.strip() for i in res_cate_a if not i.strip().endswith("評(píng)論")]
        res_cate_c = ",".join(res_cate_b)

        res_shoucang = response.xpath("http://div[@class="post-adds"]/span[2]/text()").extract_first().strip()
        match_obj1 = re.match(".*(d+).*", res_shoucang)
        if match_obj1:
            res_shoucang = match_obj1.group(1)
        else:
            res_shoucang = 0

        res_comment = response.xpath("http://div[@class="post-adds"]/a/span/text()").extract_first().strip()
        match_obj2 = re.match(".*(d+).*", res_comment)
        if match_obj2:
            res_comment = match_obj2.group(1)
        else:
            res_comment = 0

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44481.html

相關(guān)文章

  • scrapy學(xué)習(xí)之路2(圖片下載與下載路徑獲取)

    摘要:圖片下載和拿到下載后的路徑小封面圖的爬取,后面通過傳到中詳情頁的爬取詳情頁的完整地址下一頁的爬取與請(qǐng)求不明打開功能注意如要進(jìn)一步定制功能補(bǔ)充新建 圖片下載和拿到下載后的路徑 1 items.py import scrapy class InfoItem(scrapy.Item): url = scrapy.Field() url_object_id = scrapy....

    WelliJhon 評(píng)論0 收藏0
  • scrapy 學(xué)習(xí)之路那些坑

    摘要:前言本文記錄自己在學(xué)習(xí)當(dāng)中遇到的各種大小問題,持續(xù)更新。錯(cuò)誤分析本身是一個(gè)網(wǎng)絡(luò)引擎框架,的運(yùn)行依賴于。在打開新建的項(xiàng)目后,報(bào)錯(cuò)顯示。錯(cuò)誤分析的默認(rèn)依賴項(xiàng)當(dāng)中沒有,或者說默認(rèn)查找的路徑中找不到。 前言 本文記錄自己在學(xué)習(xí)scrapy當(dāng)中遇到的各種大小問題,持續(xù)更新。 環(huán)境簡介: 語言版本 爬蟲框架 IDE 系統(tǒng) python3.5 scrapy1.4.0 pycharm win1...

    xiaodao 評(píng)論0 收藏0
  • scrapy學(xué)習(xí)之路5(selenium集成到scrapy下(crawspider未測(cè)試))

    摘要:基本優(yōu)化為了不讓每次啟動(dòng)添加它到定義類的初始方法中啟動(dòng)優(yōu)化瀏覽器的自動(dòng)開啟與關(guān)閉在中加入信號(hào)鏈爬蟲結(jié)束會(huì)輸出 1:基本 Middlewares.py(downloader)showImg(https://segmentfault.com/img/bV182i?w=893&h=311); spider/xxx.pyshowImg(https://segmentfault.com/img/...

    adie 評(píng)論0 收藏0
  • scrapy學(xué)習(xí)之路1.1(正則表達(dá)式)

    摘要:以某個(gè)開頭以某個(gè)結(jié)尾某個(gè)任意多次,大于等于讓某個(gè)取消貪婪匹配,可以理解為改為從左到右匹配到某個(gè)為止某個(gè)至少為一次,大于等于例某個(gè)出現(xiàn)到次等或者選或者有三種意思,中括號(hào)的任選一個(gè)就代表號(hào),不代表任意字符了例非 ^ 以某個(gè)開頭 $ 以某個(gè)結(jié)尾 * 某個(gè)任意多次,大于等于0 ? 讓某個(gè)取消貪婪匹配,可以理解為改為從左到右匹配到某個(gè)為止 + 某個(gè)至少為一次,大于...

    AlphaGooo 評(píng)論0 收藏0
  • scrapy學(xué)習(xí)之路3(爬取數(shù)據(jù)保存本地文件或MYSQL)

    摘要:保存中的信息到本地文件自定義以格式保存到本地文件再到中添加使用自帶方式以格式保存到本地文件再到中添加使用保存中的信息到同步設(shè)計(jì)表結(jié)構(gòu)注意日期是類型,要轉(zhuǎn)化成類型補(bǔ)充保存中的信息到異步去重寫法 保存item中的信息到本地文件 1.自定義以json格式保存到本地文件 piplines.pyshowImg(https://segmentfault.com/img/bV1PEJ?w=740&h...

    余學(xué)文 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

guqiu

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<