python爬取百度百科保存scv
import urllib
import io
import sys
import requests
from bs4 import BeautifulSoup
from lxml import etree# 解码gbk
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='gb18030')
# 输入你要查询的百度百科标签,进行解码
book_type = input('请输入你要查询的百度百科的标签:')
# 文字解码得到部分url
url_decode = urllib.parse.quote(book_type)
# 打印文字解码内容
print("输出文字的编码:", url_decode)
# 百度百科url+解码出来的=你要查询的url
url = "https://baike.baidu.com/item/%s" % url_decode
print("百度百科链接:", url)
# 请求头
headers = {'cookie': 'zhishiTopicRequestTime=1627564866290; BIDUPSID=5C268C7FF7FB8C56D0FA1A757DDDD769; PSTM=1611022176; __yjs_duid=1_119e156c8ecbbe19504605adca52a48e1619009500707; BDUSS=G1qYVpHdDlwLXNDR0hHUDhGfkM5bjhkd34wU0hvQ1VWTERHTDNhdTlyVDdjc2xnSVFBQUFBJCQAAAAAAAAAAAEAAAA46re8x~HRq8zO0KHLp7jnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPvloWD75aFgU; BDUSS_BFESS=G1qYVpHdDlwLXNDR0hHUDhGfkM5bjhkd34wU0hvQ1VWTERHTDNhdTlyVDdjc2xnSVFBQUFBJCQAAAAAAAAAAAEAAAA46re8x~HRq8zO0KHLp7jnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPvloWD75aFgU; BAIDUID=D8D2F36DE37F03FEBCDB8F84B786B882:FG=1; MCITY=-%3A; BDSFRCVID_BFESS=mXCOJexroG0Y0N7eIvOtqMNb-gKK0gOTDYLEOwXPsp3LGJLVgK9uEG0Pt_U-mEt-J8jwogKKL2OTHmIF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tbkD_C-MfIvDqTrP-trf5DCShUFsKxjRB2Q-XPoO3KJZhhu6bfr-eMKLXtTae4biWbRM2MbgylRp8P3y0bb2DUA1y4vpKMP8bmTxoUJ2XMKVDq5mqfCWMR-ebPRiWTj9QgbLalQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0hI0ljj82e5PVKgTa54cbb4o2WbCQ2P3m8pcN2b5oQT84D-IfKxcqfn6D2lrtHR3vOIJTXpOUWfAkXpJvQnJjt2JxaqRC5hkBfq5jDh3MBpQDhtoJexIO2jvy0hvcBIocShnzyfjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2XjQhDNtDt60jfn3aQ5rtKRTffjrnhPF33--PXP6-hnjy3bRkopu55lT-8pvlXfTDqt-UyN3MWh3RymJ42-39LPO2hpRjyxv4bUn-5toxJpOJXaILWl52HlFWj43vbURvX5Dg3-7LBx5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIEoK0hJC-2bKvPKITD-tFO5eT22-usBJ6d2hcHMPoosIJXDMIbbfFBXprDWx6aHCviaKJjBMbUoqRHXnJi0btQDPvxBf7p5208Ll5TtUJM_UKzhfoMqfTbMlJyKMniBnr9-pnEWlQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDTtajj3QeaRabK6aKC5bL6rJabC3DfnJXU6q2bDeQN3kJUCf5m5q2-bhBlrDKJ3oyT3JXp0vWtv4WbbvLT7johRTWqR4epkw5fonDh83Bn_L2xQJHmLOBt3O5hvv8KoO3M7VyfKmDloOW-TB5bbPLUQF5l8-sq0x0bOte-bQXH_E5bj2qRIO_CIK3f; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=34299_34099_33971_34333_31254_34330_34004_34093_34094_26350_34288; BAIDUID_BFESS=D8D2F36DE37F03FEBCDB8F84B786B882:FG=1; BDRCVFR[feWj1Vr5u3D]=mk3SLVN4HKm; delPer=0; PSINO=3; SL_GWPT_Show_Hide_tmp=1; SL_wptGlobTipTmp=1; BA_HECTOR=2hak01a180800405051gg5apu0r; Hm_lvt_55b574651fcae74b0a9f1cf9c8d7c93a=1625184028,1627564747,1627564757,1627564866; zhishiTopicRequestTime=1627564875049; BK_SEARCHLOG=%7B%22key%22%3A%5B%22%E9%B9%BF%E6%99%97%22%2C%22%E5%A5%A5%E8%BF%90%E4%BC%9A%22%2C%22%E9%82%B1%E5%8B%8B%E6%B6%9B%22%2C%22%E4%BA%8E%E6%88%91%E4%B8%8E%E4%BD%A0%22%2C%22%E6%89%AC%E5%B7%9E%E7%98%A6%E8%A5%BF%E6%B9%96%22%2C%22%E6%96%BD%E5%90%AF%E6%96%8C%22%2C%22%E6%96%B9%E9%92%BB%22%2C%22%E5%86%89%E5%86%89%22%5D%7D; Hm_lpvt_55b574651fcae74b0a9f1cf9c8d7c93a=1627565520; ab_sr=1.0.1_YTIwMWIxZDY2ODgwZDBiZDVlZTg3MzQwYmExM2RlNzZjNzY2NWI1ZDgyNTU5ZTBmZTBhMmQyYzU0MDE1MDg1NjY2NGU0NTU3NzQ4NzkwMTdiOWFlN2M4MTMzMWVhODE1MDU0N2JlODVhNGZhOWJlZDMwZmEzMzFkMmNhMmRkZThmNjI0MWFiOWRmZDI3ZjFjN2M4ZWZkMzM5YTcxZjUzNA==','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'}r = requests.get(url=url, headers=headers).text
# 打印状态码
# print(r)
# 打印页面内容
html = etree.HTML(r.encode('utf-8'))
# print(html)
# XPath使用路径表达式来选取
# xpath取到百度百科第一部分内容
jianjie = html.xpath("//div[@class='lemma-summary']/div[@class='para']//text()")
# 去掉\n
remove_empty2 = [item.strip('\n') for item in jianjie]
# 去掉\xa0
remove_xa0 = [item.strip('\xa0') for item in remove_empty2]
# print(remove_xa0)
# 直接把列表变成字符串
b = " ".join(remove_xa0)
print(b)
# xpath取到的第二部分内容
luhan = html.xpath("//div[@class='main_tab main_tab-defaultTab curTab']//text()")
# 去掉\n
remove_empty1 = [item.strip('\n') for item in luhan]
# 去掉\xa0
remove_xa01 = [item.strip('\xa0') for item in remove_empty1]
# nbsp=[item.strip(' ') for item in remove_xa01]
# 直接把列表变成字符串
a = " ".join(remove_xa01)
# print(a)
c = b + a
# print(c)
d = BeautifulSoup(c, 'lxml')
ps = d.text
print(ps)
# 保存csv
with open('%s.csv' % book_type, 'a', encoding='utf-8') as f:f.write(str(ps))
注释很详细 我就不多讲了
python爬取百度百科保存scv相关推荐
- 用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科
最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...
- python爬取百度百科表格_第一个python爬虫(python3爬取百度百科1000个页面)
以下内容参考自:http://www.imooc.com/learn/563 一.爬虫简介 爬虫:一段自动抓取互联网信息的程序 爬虫可以从一个url出发,访问其所关联的所有的url.并从每个url指向 ...
- python爬取百度百科获取中国高校信息
公众号看到的文章,感觉不错,适合练手.所以就自己做了一遍. 废话不多说开整. 目的:手头有一份<学校名称.xlsx>的表格.想要这些学校的英文名称.描述.简称 学校名称.xlsx 最终成果 ...
- python爬取百度百科词条-python简单爬虫爬取百度百科python词条网页
目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...
- Python爬取百度百科,BeautifulSoup提取关键信息
本文主要爬取演员杨幂的百度百科,用到的python库有:requests和BeautifulSoup 主要内容共分为以下两个方面: 1. 用requests爬取网页内容 2. 用BeautifulSo ...
- python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的
前言 前几天爬的今天整理了一下发现就两个需要注意的点 一是记得用带cookie的方式去访问,也就是实例化requests.session() 二是转化一下爬取到的url,访问爬到的url得到返回的Lo ...
- 用python 爬取百度百科内容-使用python爬取小说全部内容
爬取代码为import urllib.request from bs4 import BeautifulSoup #coding: utf-8 class xiaoShuo(): def __init ...
- python 百度百科 爬虫_爬虫爬取百度百科数据
以前段时间<青春有你2>为例,我们使用Python来爬取百度百科中<青春有你2>所有参赛选手的信息. 什么是爬虫? 为了获取大量的互联网数据,我们自然想到使用爬虫代替我们完成这 ...
- python 爬取百度知道,Python 爬虫爬取百度百科网站
利用python写一个爬虫,爬取百度百科的某一个词条下面的全部链接和每一个链接内部的词条主题和摘要.利用request库爬取页面,然后利用BeautifulSoup对爬取到的页面提取url和关键内容. ...
最新文章
- DevExpress WPF MVVM入门例子
- php $表达式,Notepad++
- 网络安全06_安装Windows XP_几个虚拟机能够相互ping通,并且能够ping通互联网114.114.114.114
- JQuery链式操作简单的菜单列表
- 背包例题の01,完全,多重
- 每天至少保证4个小时在学习知识
- 搜狐html源码,使用css和html模仿搜狐页面
- ZH奶酪:Python中zip函数的使用方法
- if else 嵌套 来源微信公众号
- 汇编语言实模式到保护模式的思考
- c4d怎么导入图片描图建模_巧用C4D的参考图学习角色人物建模(躯干)
- 【OpenBMC 系列】D-Bus 调试器介绍 - D-Feet
- 1736. Latest Time by Replacing Hidden Digits
- 8脚语音芯片指的是什么?有什么特点?以及如何区分和选型
- python读书心得体会_Python学习心得体会
- 使用python及相关库实现AQI分析与预测
- html5中背景图片的大小怎么调,css中怎么改变背景图片大小?
- 入门到卸载:Anaconda3安装与Python3.8.1兼容配置
- Java发送邮件时标题和发件人乱码
- 泛微软件服务器是多少,泛微oa云服务器要求