抓取目标: 豆瓣音乐top250的歌名.作者(专辑).评分和歌曲链接 使用工具: requests + lxml + xpath. 我认为这种工具组合是最适合初学者的,requests比python自带的urllib库好用,功能更强大.关于requests的使用方法,建议看它的官方文档: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 使用lxml来解析网页,速度是最快的,至少比BeatifulSoup快.关…
一个很简单的爬虫. 从这里学习的,解释的挺好的:https://xlzd.me/2015/12/16/python-crawler-03 分享写这个代码用到了的学习的链接: BeautifulSoup官方文档 requests文档 codecs with……as……的解释 .join函数 .format函数 其他的一些东西在代码里面有详细注释. # encoding = utf-8 import codecs import requests from bs4 import BeautifulSo…
自己写了一个爬虫爬取豆瓣小说,后来为了应对请求不到数据,增加了请求的头部信息headers,为了应对豆瓣服务器的反爬虫机制:防止请求频率过快而造成“403 forbidden”,乃至封禁本机ip的情况,而设置了代理ip,详细请见代码和注释. 爬取豆瓣小说的链接:https://www.douban.com/tag/%E5%B0%8F%E8%AF%B4/book?start=0 获取免费代理ip的网站:http://www.xicidaili.com/ #-*-coding:utf-8-*- im…
1.问题描述: 爬取豆瓣读书首页的图书的名称.链接.作者.出版日期,并将爬取的数据存储到Excel表格Douban_I.xlsx中 2.思路分析: 发送请求--获取数据--解析数据--存储数据 1.目标网址:https://book.douban.com/ 2.利用requests.get()方法向豆瓣读书首页发送请求,获取首页的HTML源代码 #目标网址 targetUrl = "https://book.douban.com/" #发送请求,获取响应 response = requ…
一.前言   前段时间尝试爬取了网易云音乐的歌曲,这次打算爬取QQ音乐的歌曲信息.网易云音乐歌曲列表是通过iframe展示的,可以借助Selenium获取到iframe的页面元素, 而QQ音乐采用的是异步加载的方式,套路不一样,这是主流的页面加载方式,爬取有点难度,不过也是对自己的一个挑战. 二.Python爬取QQ音乐单曲 之前看的慕课网的一个视频, 很好地讲解了一般编写爬虫的步骤,我们也按这个来. 爬虫步骤 1.确定目标 首先我们要明确目标,本次爬取的是QQ音乐歌手刘德华的单曲. (百度百科…
上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地址是: https://www.douban.com/doulist/1264675/?start=0&sort=time&playable=0&sub_type= 该排行榜一共有22页,且发现更改网址的 start=0 的  0 为25.50就可以跳到排行榜的第二.第三页,所以后面只…
  在用Python的urllib和BeautifulSoup写过了很多爬虫之后,本人决定尝试著名的Python爬虫框架--Scrapy.   本次分享将详细讲述如何利用Scrapy来下载豆瓣电影Top250, 主要解决的问题有: 如何利用ImagesPipeline来下载图片 如何对下载后的图片重命名,这是因为Scrapy默认用Hash值来保存文件,这并不是我们想要的   首先我们要爬取的豆瓣电影Top250网页截图如下:   网页的结构并不复杂,所以,我们决定把所有的250部电影的图片都下载…
开发环境:(Windows)eclipse+pydev+MongoDB 豆瓣TOP网址:传送门 一.连接数据库   打开MongoDBx下载路径,新建名为data的文件夹,在此新建名为db的文件夹,db文件夹即用于存储数据   在bin路径下输入配置信息-->mongod --dbpath D:\MongoDB\data\db (此处为存储文件路径) 再打开新的命令行窗口,输入-->mongo 注意:启动服务的命令行窗口不要关闭 打开可视化管理工具Robomongo,点击Connections…
参考网址:https://music.douban.com/top250 因为详细页的信息更丰富,本次爬虫在详细页中进行,因此先爬取进入详细页的网址链接,进而爬取数据. 需要爬取的信息有:歌曲名.表演者.流派.发行时间.出版者和评分等. 将数据分别使用TXT.JSON.CSV存储. import re import csv import time import json import requests from bs4 import BeautifulSoup from requests imp…
在上一篇文章中,我主要是设置了代理IP,虽然得到了相关的信息,但是打印出来的信息量有点多,要知道每打印一页,15个小说的信息全部会显示而过,有时因为屏幕太小,无法显示全所有的小说信息,那么,在这篇文章中,我主要想通过设置回车来控制每一条小说信息的输出,当我按下回车时,会显示下一条小说的信息,按“Q”时,会退出程序,同时,这个方法还会根据包含小说信息的页面数量来决定是否加载新的一页. 首先,我们导入一些模块,定义一个类,初始化方法,定义一些变量: self.Novels里存放的是小说信息的变量,每…