xpath爬虫实战-爬取小说斗罗大陆第四部
爬取思路
- 用到的第三方库文件
lxml,requests,fake_agent - 用fake_agent里的UserAgent修饰爬虫
- 用requests进行基本的请求
- 用lxml进行html的分析
- 用xpath进行网页元素的选择
爬取的一些问题
1.编码问题这两个编码无法转换成utf-8
- UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position 15: illegal multibyte sequence

- UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xufeff’ in position 15: illegal multibyte sequence
- 解决:将这两个提前换成空字符

2.要提前建好一个txts的文件夹
全部源码
from lxml import etree
import requests
from fake_useragent import UserAgent
url1 = 'https://www.ibiquge.net/66_66791/'
url2 = 'https://www.ibiquge.net'
# 爬取HTML的函数
def get_html(url):
ua = UserAgent()
kv = {'user-agent': ua.random}
re = requests.get(url, headers=kv)
re.encoding = 'utf-8'
htm1 = re.text
return htm1
# 根据url获得文章并保存的函数
def get_text(url):
html = get_html(url)
selector = etree.HTML(html)
title = selector.xpath('//*[@id="main"]/div/div/div[2]/h1/text()')
txt = selector.xpath('//*[@id="content"]/text()')
print(title)
fp = open('txts\\' + title[0] + '.txt', 'w')
for each in txt:
each1 = each.replace('\ufeff', '')
fp.write(each1.replace('\xa0', ''))
fp.close()
def get_url(html):
selector = etree.HTML(html)
url_list = selector.xpath('//*[@id="list"]/dl/dd/a/@href')
for url in url_list:
new_url = url2 + url
get_text(new_url)
if __name__ == '__main__':
html = get_html(url1)
get_url(html)
爬取过程

爬取结果

如有侵权,联系删除
xpath爬虫实战-爬取小说斗罗大陆第四部的更多相关文章
- python爬虫实战---爬取大众点评评论
python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经 ...
- 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...
- Python实战项目网络爬虫 之 爬取小说吧小说正文
本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...
- 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...
- 初次尝试python爬虫,爬取小说网站的小说。
本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...
- Scrapy爬虫实战-爬取体彩排列5历史数据
网站地址:http://www.17500.cn/p5/all.php 1.新建爬虫项目 scrapy startproject pfive 2.在spiders目录下新建爬虫 scrapy gens ...
- python2.7 爬虫_爬取小说盗墓笔记章节及URL并导入MySQL数据库_20161201
1.爬取页面 http://www.quanshu.net/book/9/9055/ 2.用到模块urllib(网页下载),re正则匹配取得title及titleurl,urlparse(拼接完整ur ...
- 慕课爬虫实战 爬取百度百科Python词条相关1000个页面数据
http://www.imooc.com/learn/563 spider_main.py #!/usr/bin/python # coding=utf-8 #from baike_spider im ...
- Node.js爬虫实战 - 爬你喜欢的
前言 今天没有什么前言,就是想分享些关于爬虫的技术,任性.来吧,各位客官,里边请... 开篇第一问:爬虫是什么嘞? 首先咱们说哈,爬虫不是"虫子",姑凉们不要害怕. 爬虫 - 一种 ...
随机推荐
- ios shell打包脚本 xctool
#! /bin/bash project_path=$() project_config=Release output_path=~/Desktop build_scheme=YKTicketsApp ...
- RecyclerView 的 Item 的单击事件
RecyclerView 的每个Item的点击事件并没有像 ListView 一样封装在组件中,需要 Item 的单击事件时就需要自己去实现,在 Adapter 中为RecyclerView 添加单击 ...
- python 介绍,环境配置
python介绍 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来 ...
- java数据库 DBHelper
package com.dangdang.msg.dbutil; import com.dangdang.msg.configure.*; import com.mysql.jdbc.Connecti ...
- Hadoop(十):本地IDEA链接远程Hadoop
本文使用的Hadoop为2.7.7,版本如果不同要下载相应版本的文件 配置本地的Hadoop库(不需完整安装,但是要有环境支持) 下载文件 https://github.com/speedAngel/ ...
- jvm入门及理解(三)——运行时数据区(程序计数器+本地方法栈)
一.内存与线程 内存: 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行.JVM内存布局规定了JAVA在运行过程中内存申请.分配.管理的策略,保证了JVM的 ...
- JSR303完成validate校验并编写BeanValidator工具类
一.引入pom依赖 <!-- validator --> <dependency> <groupId>javax.validation</groupId> ...
- 微信小程序与H5数据传递
这的场景是 小程序webview 加载 H5应用 需求点: 1. 小程序的登录code 需要与H5应用的sessionId建立绑定关系 2.H5内发起微信小程序支付,支付参数传递到小程序,支付结果传递 ...
- 005-循环结构(上)-C语言笔记
005-循环结构(上)-C语言笔记 学习目标 1.[掌握]switch-case结构 2.[理解]case语句穿透 3.[理解]Xcode断点调试 4.[理解]while循环结构初体验 5.[掌握]w ...
- 第十节:xml、re、logging模块
XML模块:(用到的时候再看)tree=xml.parse('xmltest.xml')root= tree.getroot()print(root.tag) 打印对象的标签root.attrib 获 ...