爬取任意两个用户在豆瓣上标记的想读的图书

爬虫的步骤:将要爬取的目标用户想读的图书的首页的url存储在元组中。通过urllib.request方法构造一个发送请求,在通过urllib.urlopen方法发出请求并取得响应(response)。通过response.read得到页面html,然后在通过beautifulsoup将html解析成beautiful结构soup。通过soup中的一系列方法得到每本图书的url存到set中,将此url和其余的信息存到一个dict中。

通过判断在当前页是否还有下一页存在(通过页面的标识寻找),如果存在就继续遍历,直至结束。然后通过set中的”与“运算符得到共同想读的书的url,存储在一个新的set中,如果此set的元素的长度为0,则说明两人没有共同想读的图书,如果不为0,则遍历这些url,然后在dict中找到与之对应的图书的具体信息。然后通过xlwt将图书的信息写在excel中保存。

在构造请求时遇到了发起请求后,服务器返回403。它表示服务器理解了客户的请求,但拒绝处理它。解决的办法是在请求的头部添加refer,refer来自通过浏览器访问目标页面时,通过f12在浏览器中找到的。其目的是模拟通过浏览器访问目标页面来爬取数据。有时候在爬取页面的信息时,需要暂停几毫秒,爬的过于频繁,会被服务器端监测到。

github地址:https://github.com/041240515lq/python_spider

原文地址:https://www.cnblogs.com/liquan/p/9020042.html

时间: 2024-10-10 00:07:52

爬取任意两个用户在豆瓣上标记的想读的图书的相关文章

爬取豆瓣上某个用户标记的想读的图书信息

一,程序的功能和适用人群 程序的功能是爬取豆瓣用户标记的想读的图书,将图书信息保存为excel文件.适用于想备份在豆瓣上标记的图书的用户. 二,执行效果 程序执行后会得到一个excel文件,保存了用户想要读的图书信息,如下图: 三,技术路线 技术路线是选取用户在豆瓣上标记的想读的图书的首页url作为种子url,如下图 遍历这一页中所有的图书信息,通过每本图书链接抓取每本图书的具体信息,以下左图是首页的图书信息,右图是通过左图的链接进入的要爬取的具体的图书信息. 在爬取首页的url中的所有图书时,

二、给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上。地牢的出口可能在任意某个可以通行的位置上。牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢。

给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上.地牢的出口可能在任意某个可以通行的位置上.牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢. 个输入包含 1 个测试用例.每个测试用例的第一行包含两个整数 n 和 m(1 <= n, m <= 50),表示地牢的长和宽.接下来的

利用Scrapy爬取所有知乎用户详细信息并存至MongoDB

欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :崔庆才 本节分享一下爬取知乎用户所有用户信息的 Scrapy 爬虫实战. 本节目标 本节要实现的内容有: 从一个大V用户开始,通过递归抓取粉丝列表和关注列表,实现知乎所有用户的详细信息的抓取. 将抓取到的结果存储到 MongoDB,并进行去重操作. 思路分析 我们都知道每个人都有关注列表和粉丝列表,尤其对于大V来说,粉丝和关注尤其更多. 如果我们从一个大V开始,首先可以获取他的个人信息,然后我们获取

23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等

来源:全球人工智能 作者:SFLYQ 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号爬虫. 基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. github地址:https://github.com/Chyroc/WechatSogou 2.DouBanSpider [2]– 豆瓣

Python爬虫从入门到放弃(十八)之 Scrapy爬取所有知乎用户信息(上)

爬取的思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号信息和被关注信息的关注列表,爬取这些用户的信息,通过这种递归的方式从而爬取整个知乎的所有的账户信息.整个过程通过下面两个图表示: 爬虫分析过程 这里我们找的账号地址是:https://www.zhihu.com/people/excited-vczh/answers我们抓取的大V账号的主要信息是:

Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)

在上一篇文章中主要写了关于爬虫过程的分析,下面是代码的实现,完整代码在:https://github.com/pythonsite/spider items中的代码主要是我们要爬取的字段的定义 class UserItem(scrapy.Item): id = Field() name = Field() account_status = Field() allow_message= Field() answer_count = Field() articles_count = Field()

运维学python之爬虫高级篇(七)scrapy爬取知乎关注用户存入mongodb

首先,祝大家开工大吉!本篇将要介绍的是从一个用户开始,通过抓关注列表和粉丝列表,实现用户的详细信息抓取并将抓取到的结果存储到 MongoDB. 1 环境需求 基础环境沿用之前的环境,只是增加了MongoDB(非关系型数据库)和PyMongo(Python 的 MongoDB 连接库),默认我认为大家都已经安装好并启动 了MongoDB 服务. 项目创建.爬虫创建.禁用ROBOTSTXT_OBEY设置略(可以参考上一篇) 2 测试爬虫效果 我这里先写一个简单的爬虫,爬取用户的关注人数和粉丝数,代码

如何爬取了知乎用户信息,并做了简单的分析

爬虫:python27 +requests+json+bs4+time 分析工具: ELK套件 开发工具:pycharm 1.性别分布 0 绿色代表的是男性 ^ . ^ 1 代表的是女性 -1 性别不确定 可见知乎的用户男性颇多. 2.粉丝最多的top30 粉丝最多的前三十名:依次是张佳玮.李开复.黄继新等等,去知乎上查这些人,也差不多这个排名,说明爬取的数据具有一定的说服力. 3.写文章最多的top30 爬虫架构图如下: 说明: 选择一个活跃的用户(比如李开复)的url作为入口url.并将已爬

爬取糗事百科用户地理位置,详细坐标

代码:import requestsfrom lxml import etreeimport csvimport jsonfp = open('E:/map.csv','wt',newline='',encoding='utf-8')writer = csv.writer(fp)writer.writerow(('address','longitude','latitude'))headers = {'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0;