我写博客的目的很简单,主要是想记录一些自己学习python的历程,后期包括一些其他方面的学习,目前在看唐松老师写的《Python网络爬虫,从入门到实践》这本书,感觉还是很适合我这种小白!
示例代码如下:
import requests
url='https://blog.csdn.net/weixin_41931602/article/details/80209360'
#随便拿个CSDN的一篇文章作为url
html=requests.get(url)
print('文本编码:',html.encoding)
print('响应状态码:',html.status_code)
print('字符串方式的响应体:',html.text)
输出结果如下:
文本编码: UTF-8
响应状态码: 200
字符串方式的响应体: <!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="canonical" href="https://blog.csdn.net/weixin_41931602/article/details/80209360"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="referrer" content="always">
<meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
<meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
<meta name="csdn-baidu-search" content='{"autorun":true,"install":true,"keyword":"使用scrapy做爬虫遇到的一些坑:No module named items以及一些解决方案 - weixin_41931602的博客"}'>
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
<title>使用scrapy做爬虫遇到的一些坑:No module named items以及一些解决方案 - weixin_41931602的博客 - CSDN博客</title>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/qq_24137739/article/details/79871549,BlogCommendFromBaidu_9"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/qq_24137739/article/details/79871549,BlogCommendFromBaidu_9"}'>
<div class="content">
<a href="https://blog.csdn.net/qq_24137739/article/details/79871549" target="_blank" title="ModuleNotFoundError: No module named 'scrapy'">
<h4 class="text-truncate oneline">
<em>Module</em>NotFoundError: No <em>module</em> <em>named</em> 'scrapy' </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-09</span>
<span class="read-num hover-hide">
阅读数
1549</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/qq_24137739/article/details/79871549" target="_blank" title="ModuleNotFoundError: No module named 'scrapy'">
<span class="desc oneline">我已经安装了scrapy 但是又说没有scrapy模块 怎么解决</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq_24137739">来自: <span class="blog_title"> qq_24137739的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box blog-expert-recommend-box">
<div class="d-flex">
<div class="blog-expert-recommend">
<div class="blog-expert">
<div class="blog-expert-flexbox"></div>
</div>
</div>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u011318077/article/details/86707780,BlogCommendClickRateRank_10"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u011318077/article/details/86707780,BlogCommendClickRateRank_10"}'>
<div class="content">
<a href="https://blog.csdn.net/u011318077/article/details/86707780" target="_blank" title="Scrapy 模块不存在的错误(ModuleNotFoundError: No module named xxx)">
<h4 class="text-truncate oneline">
<em>Scrapy</em> 模块不存在的错误(<em>Module</em>NotFoundError: No <em>module</em> <em>named</em> xxx) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">01-30</span>
<span class="read-num hover-hide">
阅读数
307</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/u011318077/article/details/86707780" target="_blank" title="Scrapy 模块不存在的错误(ModuleNotFoundError: No module named xxx)">
<span class="desc oneline">实现的案例:scrapy图片下载(一):三行代码实现scrapy图片下载http://www.scrapyd.cn/example/174.html1.错误1:没有模块直接Pycharm中运行爬虫主程...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u011318077">来自: <span class="blog_title"> 沐言-BigTree</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u012939880/article/details/80429173,BlogCommendFromBaidu_11"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u012939880/article/details/80429173,BlogCommendFromBaidu_11"}'>
<div class="content">
<a href="https://blog.csdn.net/u012939880/article/details/80429173" target="_blank" title="爬虫入门体验">
<h4 class="text-truncate oneline">
<em>爬虫</em>入门体验 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">05-24</span>
<span class="read-num hover-hide">
阅读数
2万+</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/u012939880/article/details/80429173" target="_blank" title="爬虫入门体验">
<span class="desc oneline">连续做了一周的爬虫了,但是都是简单的那种,简单的总结下,后面有时间在写个工具。1.网页获取,由于网站情况不一样,有的网站有相关的反爬虫技术,要对网站情况进行分析,才能获得想要的网页信息。2.续爬,爬虫...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u012939880">来自: <span class="blog_title"> 梦想与实现</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zsn686493/article/details/69680979,BlogCommendFromBaidu_12"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zsn686493/article/details/69680979,BlogCommendFromBaidu_12"}'>
<div class="content">
<a href="https://blog.csdn.net/zsn686493/article/details/69680979" target="_blank" title="网络爬虫是个什么东西(一)">
<h4 class="text-truncate oneline">
网络<em>爬虫</em>是个什么东西(一) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-08</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/zsn686493/article/details/69680979" target="_blank" title="网络爬虫是个什么东西(一)">
<span class="desc oneline">大学最后时期比较认真的研究和开发的爬虫程序,日子长了为了防止忘记索性记个日记,也方便其他需要了解的人,过程比较艰辛,不过当时还是很有乐趣。...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/zsn686493">来自: <span class="blog_title"> zsn686493的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_61" data-pid="61" data-track-view='{"mod":"kp_popu_61-557","con":",,"}' data-track-click='{"mod":"kp_popu_61-557","con":",,"}'><div id="three_ad13" class="mediav_ad" ></div>
<script type="text/javascript" src="//static.mediav.com/js/mvf_news_feed.js"></script>
<script>
········
按照书中的指导,成功完成代码,分析思路很重要!
import requests
from bs4 import BeautifulSoup
def get_movies():
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',
'Host': 'movie.douban.com'
}#构造分析头
movie_list = []
for i in range(0, 10):
link = 'https://movie.douban.com/top250?start=' + str(i * 25)
r = requests.get(link, headers=headers, timeout=10)
print(str(i + 1), "页响应状态码:", r.status_code)
soup = BeautifulSoup(r.text, "lxml")
div_list = soup.find_all('div', class_='hd')
for each in div_list:
movie = each.a.span.text.strip()
#strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)
movie_list.append(movie)
#list.append()方法用于在列表末尾添加新的对象,即在每次list后面加上循环得到的movie数据
return movie_list
movies = get_movies()
print(movies)#原书上print(movie_list),其实是print(movies),不然会显示变量未定义
输出结果为:
1 页响应状态码: 200
2 页响应状态码: 200
3 页响应状态码: 200
4 页响应状态码: 200
5 页响应状态码: 200
6 页响应状态码: 200
7 页响应状态码: 200
8 页响应状态码: 200
9 页响应状态码: 200
10 页响应状态码: 200
['肖申克的救赎', '霸王别姬', '这个杀手不太冷', '阿甘正传', '美丽人生', '泰坦尼克号', '千与千寻', '辛德勒的名单', '盗梦空间', '忠犬八公的故事', '机器人总动员', '三傻大闹宝莱坞', '海上钢琴师', '放牛班的春天', '楚门的世界', '大话西游之大圣娶亲', '星际穿越', '龙猫', '教父', '熔炉', '无间道', '疯狂动物城', '当幸福来敲门', '怦然心动', '触不可及', '乱世佳人', '蝙蝠侠:黑暗骑士', '活着', '少年派的奇幻漂流', '控方证人', '天堂电影院', '鬼子来了', '指环王3:王者无敌', '十二怒汉', '天空之城', '摔跤吧!爸爸', '飞屋环游记', '大话西游之月光宝盒', '搏击俱乐部', '罗马假日', '哈尔的移动城堡', '闻香识女人', '辩护人', '窃听风暴', '两杆大烟枪', '末代皇帝', '飞越疯人院', '死亡诗社', '指环王2:双塔奇兵', '素媛', 'V字仇杀队', '教父2', '寻梦环游记', '指环王1:魔戒再现', '海豚湾', '饮食男女', '美丽心灵', '狮子王', '情书', '钢琴家', '本杰明·巴顿奇事', '美国往事', '看不见的客人', '黑客帝国', '小鞋子', '西西里的美丽传说', '大闹天宫', '让子弹飞', '拯救大兵瑞恩', '哈利·波特与魔法石', '致命魔术', '七宗罪', '被嫌弃的松子的一生', '音乐之声', '低俗小说', '天使爱美丽', '沉默的羔羊', '勇敢的心', '猫鼠游戏', '蝴蝶效应', '剪刀手爱德华', '春光乍泄', '心灵捕手', '禁闭岛', '布达佩斯大饭店', '穿条纹睡衣的男孩', '入殓师', '阿凡达', '幽灵公主', '阳光灿烂的日子', '致命ID', '第六感', '加勒比海盗', '狩猎', '玛丽和马克思', '断背山', '重庆森林', '摩登时代', '喜剧之王', '告白', '大鱼', '消失的爱人', '一一', '射雕英雄传之东成西就', '阳光姐妹淘', '甜蜜蜜', '爱在黎明破晓前', '小森林 夏秋篇', '驯龙高手', '侧耳倾听', '红辣椒', '请以你的名字呼唤我', '倩女幽魂', '恐怖直播', '风之谷', '上帝之城', '超脱', '爱在日落黄昏时', '菊次郎的夏天', '幸福终点站', '哈利·波特与死亡圣器(下)', '小森林 冬春篇', '杀人回忆', '7号房的礼物', '神偷奶爸', '借东西的小人阿莉埃蒂', '萤火之森', '唐伯虎点秋香', '超能陆战队', '蝙蝠侠:黑暗骑士崛起', '怪兽电力公司', '岁月神偷', '电锯惊魂', '七武士', '谍影重重3', '真爱至上', '疯狂原始人', '无人知晓', '喜宴', '萤火虫之墓', '东邪西毒', '英雄本色', '贫民窟的百万富翁', '黑天鹅', '记忆碎片', '血战钢锯岭', '心迷宫', '傲慢与偏见', '时空恋旅人', '荒蛮故事', '雨人', '纵横四海', '教父3', '达拉斯买家俱乐部', '玩具总动员3', '卢旺达饭店', '完美的世界', '花样年华', '海边的曼彻斯特', '海洋', '恋恋笔记本', '虎口脱险', '你看起来好像很好吃', '二十二', '被解救的姜戈', '头脑特工队', '无敌破坏王', '冰川时代', '燃情岁月', '你的名字。', '雨中曲', '我是山姆', '三块广告牌', '爆裂鼓手', '人工智能', '未麻的部屋', '穿越时空的少女', '魂断蓝桥', '猜火车', '模仿游戏', '一个叫欧维的男人决定去死', '房间', '忠犬八公物语', '完美陌生人', '罗生门', '恐怖游轮', '魔女宅急便', '阿飞正传', '香水', '哪吒闹海', '浪潮', '朗读者', '黑客帝国3:矩阵革命', '海街日记', '可可西里', '谍影重重2', '谍影重重', '战争之王', '牯岭街少年杀人事件', '地球上的星星', '青蛇', '一次别离', '惊魂记', '疯狂的石头', '追随', '终结者2:审判日', '源代码', '小萝莉的猴神大叔', '步履不停', '初恋这件小事', '再次出发之纽约遇见你', '新龙门客栈', '撞车', '天书奇谭', '梦之安魂曲', '爱在午夜降临前', '海蒂和爷爷', '无耻混蛋', '东京物语', '城市之光', '绿里奇迹', '彗星来的那一夜', '血钻', '这个男人来自地球', 'E.T. 外星人', '末路狂花', '2001太空漫游', '聚焦', '勇闯夺命岛', '变脸', '发条橙', '秒速5厘米', '黄金三镖客', '黑鹰坠落', '功夫', '非常嫌疑犯', '卡萨布兰卡', '我爱你', '国王的演讲', '千钧一发', '美国丽人', '疯狂的麦克斯4:狂暴之路', '遗愿清单', '奇迹男孩', '碧海蓝天', '荒岛余生', '驴得水', '枪火', '英国病人', '荒野生存']
进程已结束,退出代码0