假期学习Python爬取百度词条写入csv格式 python 2020.2.10

Posted 雾霾王者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假期学习Python爬取百度词条写入csv格式 python 2020.2.10相关的知识,希望对你有一定的参考价值。

今天主要完成了根据爬取的txt文档,从百度分类从信息科学类爬取百度词条信息,并写入CSV格式文件。

txt格式文件如图: 为自己爬取内容分词后的结果。

 

 代码如下:

 1 import requests
 2 from bs4 import BeautifulSoup
 3 import csv
 4 import io
 5 import re
 6 
 7 url="https://baike.baidu.com/item/"
 8 id=1
 9 patton=re.compile(r\'.*信息科学分类.*|.*软件.*|.*科技产品.*|.*公司.*|.*互联网人物.*|.*互联网.*|.*科技术语.*|.*技术.*|.*网站.*\')
10 
11 #写入表头
12 def Head():
13     with open(\'E:/bdbk2.csv\', \'w\', encoding=\'utf-8\', newline=\'\') as csvfile:
14         writer = csv.writer(csvfile)
15         writer.writerow(["序号", "名称", "属性", "内容", "网址"])
16 
17 def read():
18     f = open(\'E:/bdbk2.csv\', \'a+\', encoding=\'utf-8\', newline=\'\')
19     csv_writer = csv.writer(f)
20     global url
21     f=open("E:/word5.txt",\'r+\',encoding="utf-8")
22     for line in f:
23         url=url+line.rstrip("\\n")
24         try:
25             global id, name, nature, content, tag
26             kv = {\'user-agent\': \'Mozilla/5.0\'}
27             r = requests.get(url, headers=kv)
28             r.encoding = "utf-8"
29             demo = r.text
30             soup = BeautifulSoup(demo, "html.parser")
31             print(url)
32             # print(soup.prettify())
33             tag = soup.find_all("dd", {"id": "open-tag-item"})[0].get_text().replace("", "").replace("",
34                                                                                                       "").strip().replace(
35                 "\\n", "")
36             name = soup.find_all("h1")[0].get_text().strip()
37             nature = soup.find_all("h2")[0].get_text().replace("", "").replace("", "").strip()
38             if nature == \'目录\':
39                 nature = tag
40             content = soup.find_all("div", {"class": "lemma-summary"})[0].get_text().strip().rstrip("]").lstrip("[")
41             if name != "百度百科错误页" and nature != "目录" and len(patton.findall(tag)) != 0:
42                 print("序号:" + str(id))
43                 print("名称:" + name)
44                 print("属性:" + nature)
45                 print("内容:" + content)
46                 print("网址:" + url)
47                 csv_writer.writerow([str(id), name, nature, content, url])
48                 id += 1
49         except:
50             print("出错!")
51         url = "https://baike.baidu.com/item/"
52     f.close()
53 
54 if __name__=="__main__":
55     Head()
56     read()

 

以上是关于假期学习Python爬取百度词条写入csv格式 python 2020.2.10的主要内容,如果未能解决你的问题,请参考以下文章

如何使用python3爬取1000页百度百科条目

爬虫实例——爬取python百度百科相关一千个词条

Python爬虫-爬取百度贴吧帖子

爬虫爬取百度词条

Python爬取新浪微博评论数据,写入csv文件中

爬取豆瓣中的战狼影评,保存在CSV