毕设新学小知识

最近学习Python爬虫,因为mooc里的北京理工大学嵩天老师就是爬取百度,所以就以百度为例啦~~

一、 前期准备

cmd中安装requests、urllib头文件。

直接使用命令

pip install requests
pip install urllib

结果提示successful installed前期工作结束

如果提示安装错误,请自行百度。

二、开始写代码

import requests
import urllib
url1 = 'https://baike.baidu.com/item/'
key_word = (input())
lens = len(key_word)
key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace')
headers = {# 'wd':key_word,# 'Host': 'https://baike.baidu.com/item/',"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
}
html = requests.get(url1+key_word,headers = headers)
print(url1+key_word)# 验证链接是否正确
html.encoding = html.apparent_encoding
fo = open("F://毕设//1.txt",'wb')# 爬取百度百科的内容保存到本地中
fo.write((html.content))
print("写入文件成功")

注意

key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace')

这行代码的作用及说明参考我的其他文章链接


有一定爬虫基础的朋友应该很容易理解这几行代码。

简单说一下:

1、因为现在爬虫非常多,各个网站也都增加了相应的反爬虫机制,我们就必须在爬取时模拟真人的操

作。在requests.get中加入了请求头(headers),就可以很好的绕过服务器的检查。

2、加上html.encoding = html.apparent_encoding这句话了是为了把页面转化为我们所能理解的方

式。

3、最后含有fo的两行代码就更好理解了,把我们爬取的百科的内容保存在txt文件中,这里我是用了

wb覆盖写入方式。如果不存在1.txt文件,会自己创建一个,避免了不存在这个文件会报错的尴尬局

面。

最后提示写入文件成功,再来验证一下就ok!



我们正常使用百度百科查找张子枫,是这个亚子的。

我们运行一下自己的程序试试看。


运行正常,提示我们爬取网页成功,接下来看看保存到本地txt里的内容。


任意截两张文件内容,凑个字数,你们不会在心里骂我sb吧?(狗头保命)

把txt后缀改为html,然后再打开看看是什么样子。

看看网页链接,确认是保存到本地修改后缀打开的网页,而不是又把图片复制了一遍。

后话

这只是初学者写出来的代码,存在很多缺点:效率不高,代码逻辑性不强,没有写入到函数中,代码

不美观。希望看到这篇文章的评议们,可以分享你的建议,谢谢各位。

如果有兴趣的话可以关注我的个人公众号:小惑有观察。

我会把自己的对人生的思考,对情感的理解,活下去必备的方方面面产生疑问并给出自己的见解。非

常欢迎各位朋友们和我交流。

基于Python3爬取百度百科内容(可自己输入关键字)相关推荐

  1. 用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科

    最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...

  2. python爬取百度百科表格_第一个python爬虫(python3爬取百度百科1000个页面)

    以下内容参考自:http://www.imooc.com/learn/563 一.爬虫简介 爬虫:一段自动抓取互联网信息的程序 爬虫可以从一个url出发,访问其所关联的所有的url.并从每个url指向 ...

  3. 用python 爬取百度百科内容-使用python爬取小说全部内容

    爬取代码为import urllib.request from bs4 import BeautifulSoup #coding: utf-8 class xiaoShuo(): def __init ...

  4. python 百度百科 爬虫_爬虫爬取百度百科数据

    以前段时间<青春有你2>为例,我们使用Python来爬取百度百科中<青春有你2>所有参赛选手的信息. 什么是爬虫? 为了获取大量的互联网数据,我们自然想到使用爬虫代替我们完成这 ...

  5. python3爬取百度图片

    python3爬取百度图片 最终目的:能通过输入关键字进行搜索,爬取相应的图片存储到本地或者数据库 首先打开百度图片的网站,搜索任意一个关键字,比如说:水果,得到如下的界面 分析: 1.百度图片搜索结 ...

  6. 用python3爬取百度首页

    用python3读取百度首页 代码 爬取百度首页 import urllib.request import urlliburl="http://www.baidu.com/" ht ...

  7. 学习开源web知识图谱项目,爬取百度百科中文页面

    github上找到的项目,感觉比较适合知识图谱入门 源码地址:https://github.com/lixiang0/WEB_KG ubuntu环境(如果在windows下跑改下文件路径,我改了一下还 ...

  8. python 爬取百度知道,Python 爬虫爬取百度百科网站

    利用python写一个爬虫,爬取百度百科的某一个词条下面的全部链接和每一个链接内部的词条主题和摘要.利用request库爬取页面,然后利用BeautifulSoup对爬取到的页面提取url和关键内容. ...

  9. python爬虫代码实例-Python爬虫爬取百度搜索内容代码实例

    这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 搜索引擎用的很频繁,现在利用Python爬 ...

  10. 写一个爬虫,可以爬取百度文库内容

    爬取百度文库内容需要使用爬虫技术.以下是一个简单的 Python 爬虫示例: import requestsurl ="https://wenku.baidu.com/view/your_d ...

最新文章

  1. Python开发面试题及部分答案分享!
  2. ORACLE 中ROWNUM用法总结!
  3. java 蓝桥杯算法训练 求完数(题解)
  4. 比特币链上活跃度下降,近24小时交易额约为1050.57亿美元
  5. atom配置python环境_Python编程:用VScode配置Python开发环境
  6. Java开发中常用的设计模式-单例模式
  7. Spring REST Controller,在GET方式下,有多个参数时的处理
  8. python 传递任意数量的实参
  9. 电气工程学计算机有用吗,我是学计算机的,因为一直喜欢电气,所以想考个注..._电气工程师_帮考网...
  10. java 双三次线性插值_双三次插值算法实现
  11. 基于STM32的频率计Proteus仿真教程
  12. 移动硬盘只显示盘符,不显示容量,也不能打开
  13. 【转】MS.Net开发人员必备的十种工具
  14. java 正则 标点符号_js实现正则匹配中文标点符号的方法
  15. 兼容性问题:安卓正常,ios报错invalid group specifier name
  16. python ui框架哪个最好用_Python UI开发最常用到的库
  17. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
  18. PHP实现用户登录注册(详细教程)
  19. 巴贝奇的差分机与分析机
  20. VSFTPD + NGINX

热门文章

  1. 使用axis的工具类 wsdl2java生成java代码,利用CXF wsdl2java生成java代码以及施用Apache Axis 1.4 wsdl2java生成java代码...
  2. java mp4转码 h264_10分钟学会Jave视频转码avi--gt;mp4(h264编码格式)!_Java_七九推...
  3. 数据库内获取准确的当前时间
  4. deque python_python3 deque(双向队列)的详细介绍
  5. fastlane php,[iOS - 自动化] fastlane/frameit
  6. C# DateTime的ToString()方法的使用
  7. 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页...
  8. flowable实现多实例节点的自由跳转
  9. 2018-05-21 Linux学习
  10. 只知道人工智能远远不够 下一件大事将是边缘计算!