python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...

news/2024/5/10 10:11:50/文章来源:https://blog.csdn.net/weixin_34420941/article/details/114919332

1. 任务描述

目标网站截图:

0818b9ca8b590ca3270a3433284dd417.png

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

可以看到种子文件的列表,这些链接的url可以用正则表达式表示为: /tor/\d+

详情页截图

0818b9ca8b590ca3270a3433284dd417.png

截图中的:资源名称, 资源大小,和资源描述就是我们要抓取的信息。

2. 定义scrapy item.

mininova.py

import  scrapy

class TorrentItem(scrapy.Item):

url = scrapy.Field()

name = scrapy.Field()

description = scrapy.Field()

size = scrapy.Field()

3. 查看网页源文件,确定我们要抓取的内容的XPath表达式。对XML Path Language不熟悉的话可以参考:http://www.w3.org/TR/xpath/

Item

XPath

name

//hi/text()

size

//div[@id='specifications']/p[2]/text()[2]

descripthin

//div[@id='description']

4. 最终的代码为:

mininova.py

import scrapy

from scrapy.contrib.spiders import CrawlSpider, Rule

from scrapy.contrib.linkextractors import LinkExtractor

class TorrentItem(scrapy.Item):

url = scrapy.Field()

name = scrapy.Field()

description = scrapy.Field()

size = scrapy.Field()

class MininovaSpider(CrawlSpider):

name = 'mininova'

allowed_domains = ['mininova.org']

start_urls = ['http://www.mininova.org/yesterday']

rules = [Rule(LinkExtractor(allow=['/tor/\d+']), 'parse_torrent')]

def parse_torrent(self, response):

torrent = TorrentItem()

torrent['url'] = response.url

torrent['name'] = response.xpath("//h1/text()").extract()

torrent['description'] = response.xpath("//div[@id='description']").extract()

torrent['size'] = response.xpath("//div[@id='specifications']/p[2]/text()[2]").extract()

return torrent

5. 运行代码

将mininova.py复制到C:\

打开cmd,输入命令: scrapy runspider --output=spider_out.json mininova.py

文件的后缀名很重要,scrapy会根据后缀名确定输出格式

0818b9ca8b590ca3270a3433284dd417.png

6. 查看输出

0818b9ca8b590ca3270a3433284dd417.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_795725.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于django的视频点播网站开发-step4-首页功能

在本讲中,我们开始首页功能的开发,在开发过程中,大家将会学习到Django中的通用视图类、分页对象paginator以及foreignKey外键的使用。 效果演示 整体功能 大家可先通过 网站演示地址 浏览一下首页的效果。我们首页呢,比较简洁大方…

连接云服务器_Windows server 2012 云服务器建站教程 (1):远程连接桌面+IIS服务器安装...

服务器:Windows server 2012 阿里云服务器发布网站的过程中,实在是踩了太多的坑了,通过云服务器发布一个http://asp.net真是费劲儿,如果你要是需要访问cshtml格式的网站,会更加费劲儿一点。1.使用远程桌面连接云服务器…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

linux samba启动连接不上,CentOS中Samba配置后始终连不上解决_Linux教程_Linux公社-Linux系统门户网站 正解...

按照网上的办法改了/etc/samba/smb.conf配置文件,结果在Win7里面就是连不上,后来发现是防火墙的问题。有两个命令必须要执行:1、将SELinux设置成disabled或者permissivesetenforce 02、关闭防火墙服务service iptables stop若SElinux啟用中&a…

php网站在哪儿添加文章_php添加文章时生成静态HTML文章的实现代码

PHP生成静态文章HTML,有批量的生成,但比较标准的应该是在添加文章时就生成HTML文章,编辑时再重新生成HTML文章,删除文章时同样也样删除多余出来的HTML文章,这时批量生成就显得有点力不从心了,下面就介绍一下PHP在添加文…

php多网址文章发布,如何设置发布到多个网站-批量发布文章到站群

软件自定义API接口发布,是针对所有网站类型的发布方法,是最灵活的一种发布模式,当你的网站没有软件上的那几个常用网站程序,就可以考虑这种方法了,此方法通用,但是也需要一定的编程知识。下面跟我一步步设置…

怎么测试本地网页在不同分辨率下电脑显示效果_好的响应式网站应该怎么做?...

响应式网站设计开发,也有叫做响应的Web设计,或着叫响应式网页设计,响应式网站设计开发的目的是为不同设备提供的多种适配的展现形式。一个网站,为了适应不同的用户的不同客户端的查看,通过响应式网站制作过程提供各种适…

jquery导入数据_【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台...

【写在前面】你要开发网站? 嗯。。会Flask吗? 什么东西,没听过。。。会JQuery吗? 是python的库吗 ?那你会什么? 我会F12打开网站好吧,那我们来写个简单的表格管理平台。基于Flask框架和JQuery实…

web前端项目实例网站_推荐一个前端开源项目 CDN网站

前面学习到什么是CDN,全称是Content Delivery Network,即内容分发网络。CDN的通俗理解就是网站加速,CPU均衡负载。CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定&#…

win10打不开网络上的计算机,[pc玩家]Windows10中打不开网站的问题怎么解决?

当用户在浏览器中输入网站的域名时,此时将发送请求到DNS服务器以识别连接到该主机名的IP地址,只有正确解析了IP地址才会打开你想要访问的网站。但有时你会收到一个错误消息,告诉你DNS服务器没有响应。要解决这个问题,你可以尝试几…

有域名有服务器没有网站可以备案吗,只有域名没有服务器可以备案吗

只有域名没有服务器可以备案吗 内容精选换一换成功访问网站包含以下两个阶段,这两个阶段缺一不可,需要同时成功才能正常访问网站,如图1所示。阶段一:DNS根据访问请求中的域名解析出对应的IP地址。阶段二:访问网站服务器…

js将图片转换为base64_为网站添加图片 WebP 自动转换功能

最近这几天在网上闲逛时,发现了一个名叫 WebP_Server_Go 的新项目,可以无缝将网站上已有图片转换为 WebP 格式输出,同时不改变原始图片链接,看起来挺适合我个人博客的需求,使用也比较简单。网站使用 WebP 格式图片的好…

为什么linux访问不到文件夹,laravel部署到linux,将public文件夹指定为网站根目录,但是无法访问其子文件夹...

本机使用的是window环境,一切正常,但是部署到linux系统上(配的是nginx),在访问的时候,控制器和方法都能正常执行,页面也可以输出,但是输出的页面却缺少css文件,一查是500错误,已经将请求重定向到public文件夹下,我的目录结构是:public/web/css/css.css域名是:aaa.com直接访问aa…

seo自动发外链_seo如何做外链(做seo外链建设有哪些原则)

人人做seo都需要发外链,同样的工作最终的结果却是千差万别,有些人发的外链让网站优化的结果更好,有些人发外链带给网站的优化结果是无效甚至于是反作用的。我们seo如何做外链呢?做外链建设有哪些原则?一、发布一些高质…

个6000常用wifi弱口令._Python网站开发怎么学(9个练习项目)

> 公众号回复"Python"获取更多学习资源;1. CSS3 基础入门地址: https://www.shiyanlou.com/courses/1246学习人数: 710关注人数: 71该课程已升级,请学习《CSS3 简明教程》:https://www.shiyanlou.com/courses/12372. Java 简明教…

网站封装单个exe_如何测试React网站和应用程序

通过学习测试React网站和应用程序来获取可用于生产的代码。#react#如何测试React网站和应用程序(图片来源:未来)如果您想知道如何测试React,那么您来对地方了。您真的知道您的代码可以执行它的工作吗?您是否在浏览器中测试过?如果…

python建站与java建站有何不同_模板建站好不好?和定制建站有何不同?

很多新手在建站前,都拿不准到底是使用模板建站好,还是找外包团队定制开发好。这两种建站方法差异还是蛮大的,下面就给大家说说模板和定制的几个主要不同之处,你可以根据这些来判断适合自己的建站方式:1.制作周期不同定…

html5网站访问地图

这个地图是我结合了网上的代码自己修改了下做出来的&#xff0c;样子大概是这样 前端使用的是layui&#xff0c;如果要使用的话需要更改一下 我就直接上代码吧 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"> <head><meta char…

wordpressQQ登陆php代码_实现 WordPress 登录查看网站

下面由WordPress教程栏目给大家介绍WordPress 登录查看网站的方法&#xff0c;希望对需要的朋友有所帮助&#xff01;如网站内容只希望注册用户浏览&#xff0c;对其他所有人隐藏&#xff0c;浏览者未登录访问直接跳转到登录注册页面&#xff0c;可以用下面的代码实现。将下面代…

十个网页html,10 个不错的 HTML5 类型网站

Agent 008 Ball 一款采用canvas和audio元素的在线桌球游戏网站The Wilderness Down Town是一个很酷的结合地图和音乐创造出来的互动式电影短片网站。这个由Chris Milk拍摄的基于html5的互动电影短片“We Used to Wait”&#xff0c;超越flash/java,非常强大。网站利用谷歌浏览器…