Rumah pembangunan bahagian belakang Tutorial Python 基于scrapy实现的简单蜘蛛采集程序

基于scrapy实现的简单蜘蛛采集程序

Jun 10, 2016 pm 03:14 PM
scrapy labah-labah

本文实例讲述了基于scrapy实现的简单蜘蛛采集程序。分享给大家供大家参考。具体如下:

# Standard Python library imports
# 3rd party imports
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
# My imports
from poetry_analysis.items import PoetryAnalysisItem
HTML_FILE_NAME = r'.+\.html'
class PoetryParser(object):
  """
  Provides common parsing method for poems formatted this one specific way.
  """
  date_pattern = r'(\d{2} \w{3,9} \d{4})'
 
  def parse_poem(self, response):
    hxs = HtmlXPathSelector(response)
    item = PoetryAnalysisItem()
    # All poetry text is in pre tags
    text = hxs.select('//pre/text()').extract()
    item['text'] = ''.join(text)
    item['url'] = response.url
    # head/title contains title - a poem by author
    title_text = hxs.select('//head/title/text()').extract()[0]
    item['title'], item['author'] = title_text.split(' - ')
    item['author'] = item['author'].replace('a poem by', '')
    for key in ['title', 'author']:
      item[key] = item[key].strip()
    item['date'] = hxs.select("//p[@class='small']/text()").re(date_pattern)
    return item
class PoetrySpider(CrawlSpider, PoetryParser):
  name = 'example.com_poetry'
  allowed_domains = ['www.example.com']
  root_path = 'someuser/poetry/'
  start_urls = ['http://www.example.com/someuser/poetry/recent/',
         'http://www.example.com/someuser/poetry/less_recent/']
  rules = [Rule(SgmlLinkExtractor(allow=[start_urls[0] + HTML_FILE_NAME]),
                  callback='parse_poem'),
       Rule(SgmlLinkExtractor(allow=[start_urls[1] + HTML_FILE_NAME]),
                  callback='parse_poem')]
Salin selepas log masuk

希望本文所述对大家的Python程序设计有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1266
29
Tutorial C#
1238
24
Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Jun 22, 2023 am 09:41 AM

Scrapy melaksanakan rangkak artikel dan analisis akaun awam WeChat WeChat ialah aplikasi media sosial yang popular dalam beberapa tahun kebelakangan ini, dan akaun awam yang dikendalikan di dalamnya juga memainkan peranan yang sangat penting. Seperti yang kita sedia maklum, akaun awam WeChat adalah lautan maklumat dan pengetahuan, kerana setiap akaun awam boleh menerbitkan artikel, mesej grafik dan maklumat lain. Maklumat ini boleh digunakan secara meluas dalam banyak bidang, seperti laporan media, penyelidikan akademik, dsb. Jadi, artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk merangkak dan menganalisis artikel akaun awam WeChat. Scr

Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Jun 22, 2023 pm 11:09 PM

Scrapy ialah rangka kerja perangkak Python sumber terbuka yang boleh mendapatkan data daripada tapak web dengan cepat dan cekap. Walau bagaimanapun, banyak tapak web menggunakan teknologi pemuatan tak segerak Ajax, menjadikannya mustahil untuk Scrapy mendapatkan data secara langsung. Artikel ini akan memperkenalkan kaedah pelaksanaan Scrapy berdasarkan pemuatan tak segerak Ajax. 1. Prinsip pemuatan tak segerak Ajax Pemuatan tak segerak Ajax: Dalam kaedah pemuatan halaman tradisional, selepas pelayar menghantar permintaan kepada pelayan, ia mesti menunggu pelayan mengembalikan respons dan memuatkan keseluruhan halaman sebelum meneruskan ke langkah seterusnya.

Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy ialah rangka kerja perangkak berasaskan Python yang boleh mendapatkan maklumat berkaitan dengan cepat dan mudah di Internet. Dalam artikel ini, kami akan menggunakan kes Scrapy untuk menganalisis secara terperinci cara merangkak maklumat syarikat di LinkedIn. Tentukan URL sasaran Mula-mula, kita perlu menjelaskan dengan jelas bahawa sasaran kita ialah maklumat syarikat di LinkedIn. Oleh itu, kita perlu mencari URL halaman maklumat syarikat LinkedIn. Buka laman web LinkedIn, masukkan nama syarikat dalam kotak carian, dan

Menggunakan Selenium dan PhantomJS dalam perangkak Scrapy Menggunakan Selenium dan PhantomJS dalam perangkak Scrapy Jun 22, 2023 pm 06:03 PM

Menggunakan Selenium dan PhantomJSScrapy dalam perangkak Scrapy Scrapy ialah rangka kerja perangkak web yang sangat baik di bawah Python dan telah digunakan secara meluas dalam pengumpulan dan pemprosesan data dalam pelbagai bidang. Dalam pelaksanaan perangkak, kadangkala perlu untuk mensimulasikan operasi penyemak imbas untuk mendapatkan kandungan yang dibentangkan oleh tapak web tertentu Dalam kes ini, Selenium dan PhantomJS diperlukan. Selenium mensimulasikan operasi manusia pada penyemak imbas, membolehkan kami mengautomasikan ujian aplikasi web

Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Jun 22, 2023 pm 01:57 PM

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh digunakan untuk mendapatkan sejumlah besar data daripada Internet. Walau bagaimanapun, apabila membangunkan Scrapy, kami sering menghadapi masalah merangkak URL pendua, yang membuang banyak masa dan sumber serta menjejaskan kecekapan. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman Scrapy untuk mengurangkan rangkak URL pendua dan meningkatkan kecekapan perangkak Scrapy. 1. Gunakan atribut start_urls dan allowed_domains dalam perangkak Scrapy untuk

Penggunaan Scrapy yang mendalam: Bagaimana untuk merangkak data HTML, XML dan JSON? Penggunaan Scrapy yang mendalam: Bagaimana untuk merangkak data HTML, XML dan JSON? Jun 22, 2023 pm 05:58 PM

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh membantu kami mendapatkan data di Internet dengan cepat dan fleksibel. Dalam proses merangkak sebenar, kami sering menghadapi pelbagai format data seperti HTML, XML dan JSON. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Scrapy untuk merangkak ketiga-tiga format data ini masing-masing. 1. Merangkak data HTML dan mencipta projek Scrapy Pertama, kita perlu membuat projek Scrapy. Buka baris arahan dan masukkan arahan berikut: scrapys

Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya? Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya? Jun 22, 2023 am 10:21 AM

Dengan perkembangan Internet, orang ramai semakin bergantung kepada Internet untuk mendapatkan maklumat. Bagi pencinta buku, Douban Books telah menjadi platform yang sangat diperlukan. Di samping itu, Douban Books juga menyediakan banyak penilaian dan ulasan buku, membolehkan pembaca memahami buku dengan lebih komprehensif. Walau bagaimanapun, mendapatkan maklumat ini secara manual adalah sama dengan mencari jarum dalam timbunan jerami Pada masa ini, kita boleh menggunakan alat Scrapy untuk merangkak data. Scrapy ialah rangka kerja perangkak web sumber terbuka berdasarkan Python, yang boleh membantu kami dengan cekap

Scrapy dalam tindakan: merangkak data berita Baidu Scrapy dalam tindakan: merangkak data berita Baidu Jun 23, 2023 am 08:50 AM

Bertindak buruk: Merangkak data berita Baidu Dengan perkembangan Internet, cara utama orang ramai mendapatkan maklumat telah beralih daripada media tradisional kepada Internet, dan orang ramai semakin bergantung pada Internet untuk mendapatkan maklumat berita. Bagi penyelidik atau penganalisis, sejumlah besar data diperlukan untuk analisis dan penyelidikan. Oleh itu, artikel ini akan memperkenalkan cara menggunakan Scrapy untuk merangkak data berita Baidu. Scrapy ialah rangka kerja perangkak Python sumber terbuka yang boleh merangkak data tapak web dengan cepat dan cekap. Scrapy menyediakan fungsi menghurai dan merangkak halaman web yang berkuasa

See all articles