python语音导航_python爬虫,狂爬各种导航网站并分类
[Python] 纯文本查看 复制代码#coding=utf-8
'''
Created on 2018-3-27
@author: haoning
'''
import scrapy
import sys
from util import get_absolute_path
import hashlib
from util import now_time
from util import convert_mg_url_to_base64
import urlparse
from util import lock
from util import unlock
from lxml import etree
m = hashlib.md5()
sys.path.append(get_absolute_path())
from crawl.scrapy_crawl.items import ScrapyCrawlItem
class BookmarkSpider(scrapy.Spider):
name = "haoyonghaowan"
allowed_domains = ["haoyonghaowan.com"]
def __init__(self):
self.base = "http://www.haoyonghaowan.com"
self.reqeust_url=self.base
self.urls=[]
def start_requests(self):
self.urls.append(self.reqeust_url)
for url in self.urls:
yield scrapy.Request(url=url, callback=self.parse_link_page)
def parse_link_page(self,response):
parts=response.xpath('//div[contains(@class,"sitelist")]/ul/li/a/@href').extract()
for url in parts:
yield scrapy.Request(url=url, callback=self.parse_item)
def parse_item(self,response):
items=response.xpath('//article[contains(@class,"sitelist")]/div/ul/li/a').extract()
for it in items:
try:
lock()
item = ScrapyCrawlItem()
item['category2']=self.parse_category2(response)
item['category1']=self.parse_category1(response)
it=etree.fromstring(it)
item['name']=self.parse_name(it)
item['url']=self.parse_url(it)
if item['url']:
item['icon']=self.parse_icon(item['url'])
item['crawl_time']=self.parse_crawl_time(it)
item['content']=self.parse_content(it)
item['origin_website']=self.base
item['stop']=False
print item
if item['name'] and item['url'] and item['category2'] and ("http" in item['url']):
yield item
except Exception as e:
print "ee",e
finally:
unlock()
item = ScrapyCrawlItem()
item['stop']=True
yield item
def parse_name(self, it):
name=it.xpath('//text()')
if name:
return name[0]
return None
def parse_url(self, it):
href=it.xpath('//@href')
if href:
return href[0]
return None
def parse_category2(self, response):
name=response.xpath('//article[contains(@class,"sitelist")]/header/h2/text()').extract()
if name:
return name[0].replace('\n','').replace('\t','').replace(' ','').replace('\r','')
return None
def parse_category1(self, response):
return None
def parse_icon(self,link):
try:
url="http://www.google.cn/s2/favicons?domain="+urlparse.urlparse(link).netloc
return convert_mg_url_to_base64(url)
except Exception as e:
print "errro it",e
def parse_crawl_time(self, response):
return now_time()
def parse_content(self, it):
return None
if __name__ == '__main__':
spider = BookmarkSpider()
print spider.now_time()
python语音导航_python爬虫,狂爬各种导航网站并分类相关推荐
- python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例
本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...
- python接收弹幕_Python爬虫自动化爬取b站实时弹幕实例方法
最近央视新闻记者王冰冰以清除可爱和专业的新闻业务水平深受众多网友喜爱,b站也有很多up主剪辑了关于王冰冰的视频.我们都是知道b站是一个弹幕网站,那你知道如何爬取b站实时弹幕吗?本文以王冰冰视频弹幕为例 ...
- python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)
1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...
- python爬虫网站 词云_Python爬虫之爬取情话网站并绘制词云
一.爬取网站 1.分析目标网站 首先我们需要分析目标网站的源代码 分析html得知所有的情话都是在标签 下,而且一个 标签对应着一句情话. 2.编写代码 import bs4 import reque ...
- python医药数据_python爬虫:爬取医药数据库drugbank
import os import time import datetime import codecs from lxml import etree from selenium import webd ...
- python音乐相册_python爬虫之爬取网易云音乐的歌曲图片和歌词
0.目录 1.分析页面 2.获取歌曲的id 3.获取歌曲信息 4.获取歌曲图片url 5.获取歌词 6.总结 7.完整代码 1.分析页面 这一次我们来爬取网易云音乐,爬取歌单内的所有歌曲的图片和歌词, ...
- python输出古诗词_python爬虫——爬取古诗词
一. 概要 1.通过python爬虫循环爬取古诗词网站唐诗宋词 2.落地到本地数据库 二. 页面分析 首先通过firedebug进行页面定位: 其次源码定位: 最终生成lxml etree定位div标 ...
- python输出古诗词_python爬虫——爬取古诗名句
一. 概要 1.通过python爬虫循环爬取古诗词网站古诗名句 2.落地到本地数据库 二. 页面分析 首先通过firedebug进行页面定位: 其次源码定位: 最终生成lxml etree定位div标 ...
- Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)
Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...
- python爬虫实战-爬取视频网站下载视频至本地(selenium)
#python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...
最新文章
- 《2018中国大数据发展指数报告》发布:广东、上海、贵州、北京、重庆领先
- 百度语音识别技术负责人李先刚:如何利用Deep CNN大幅提升识别准确率?
- 视频中的目标检测与跟踪综述
- Mozilla Prism v0.9 For Windows/Linux/Mac
- 认清SQL_Server_2005的基于行版本控制的两种隔离级别
- 2022有哪些不容错过的后端技术趋势
- Python3 基础学习笔记 C02【列表】
- 前端知识点回顾之重点篇——CORS
- mac系统升级 brew 是用不了_Mac 终端(terminal) oh-my-zsh+solarized配置
- 2019ug最新版本是多少_宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到最新版本...
- 移动开发痛点之一-接口验证之PostMan图文教程
- 数字图像处理怎么讲yiq空间变成rgb空间_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight...
- OpenSSH服务及其相关应用
- python运行空白_解决pyecharts运行后产生的html文件用浏览器打开空白
- c语言链表死循环,单项循环链表解决Joseph 问题,死循环了,求帮忙
- redis通过lua脚本实现分布式锁
- 如何使用计算机检测网络正常使用,如何测试网速? 本地测网速的几种方法分享...
- closest()方法简介
- 使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件
- 西安电子科技大学通院811电院821考研上岸经验分享(一)
热门文章
- numpy.eye()函数简单使用
- 2021年中国社保卡市场现状分析,应全力推进社会保障卡应用工作「图」
- 将北斗卫星授时(GPS时钟系统)技术应用数据采集系统
- 系统出现右下角的小喇叭不见了,解决办法
- Yearn Finance闪电贷攻击分析学习
- 求助 TSI APS-3321 用R232线与电脑连接后,AIM软件打开后无法与设备通信的原因
- python之鸭子类型(22)
- LaTeX入门教程 Elseiver模板使用
- CentOS 下安装openOffice,并在Linux上实现office转PDF
- VS编译 error C2275: “XXX”: 将此类型用作表达式非法天天向上