摘要:爬虫数据写入文件中文乱码,用在中打开文件没有问题,但是用打开却出现了问题,以下为解决方法。
python爬虫数据写入csv文件中文乱码,用’utf-8‘在pycharm中打开文件没有问题,但是用excel打开却出现了问题,以下为解决方法。
(最近在练习爬虫,这个博文是对自己学习的记录和分享,如果有问题,非常感谢各路大佬指出!!!)
for r in result: r_lis=[] #方法二:将爬到的内容储存在csv文件中 r_lis.append(r.text) with open("company.csv","a",newline="",encoding="utf-8-sig") as csvfile: spamwriter=csv.writer(csvfile, delimiter=",") spamwriter.writerow(r_lis)
在with自开合那里加入newline="",encoding="utf-8-sig"是关键
以下是天眼查的爬虫
import requestsfrom bs4 import BeautifulSoupfrom urllib.parse import quoteimport csv #公司信息以csv的格式存储看起来更美观# key="华为" #从查询一个company开始,加for循环,查询多个企业lis=["华大基因","知乎","中国国家地理杂志社","中山大学"]for li in lis: url="https://www.tianyancha.com/search?key="+quote(li) #外部的url,进入要查询的企业的页面 headers={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52", "Cookie":"aliyungf_tc=dcee015d38cbc96ad677b845beb17fecf55dfe7bf358e85e3369cb76604d9baa; acw_tc=76b20f8416320655286472268e3b9f535aea9900bb46a056331a772cc85ae5; csrfToken=ZguchyQQdbrVckAuPOspK7Au; jsid=SEO-BING-ALL-SY-000001; TYCID=c06be740195e11ec9d547d348b283d0a; ssuid=5077711456; sajssdk_2015_cross_new_user=1; bannerFlag=true; Hm_lvt_e92c8d65d92d534b0fc290df538b4758=1632065532; _ga=GA1.2.1408096384.1632065532; _gid=GA1.2.1583561769.1632065532; searchSessionId=1632065541.64432166; relatedHumanSearchGraphId=17066311; relatedHumanSearchGraphId.sig=TwOcKyCjpeHTjV7s49eE4L_3pHpB94avftKmZJek8gk; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218438709046%22%2C%22first_id%22%3A%2217bfeafae43ba9-005e2376b1979-57341f44-1382400-17bfeafae44afa%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2217bfeafae43ba9-005e2376b1979-57341f44-1382400-17bfeafae44afa%22%7D; tyc-user-info={%22state%22:%220%22%2C%22vipManager%22:%220%22%2C%22mobile%22:%2218438709046%22}; tyc-user-info-save-time=1632066453345; auth_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODQzODcwOTA0NiIsImlhdCI6MTYzMjA2NjQ1MiwiZXhwIjoxNjYzNjAyNDUyfQ.XYcBGbzr1qThhAZp9exmEKjWg1Co6_cwyZgmfCNO-9Nrp_KSyyqAr--UnxUhLaaX7x6jNmoX3SACJDL31RocNA; tyc-user-phone=%255B%252218438709046%2522%255D; Hm_lpvt_e92c8d65d92d534b0fc290df538b4758=1632066573" } #这里的Cookie需要是用户登陆后的才可以用,否则需要输入验证码,所以先登陆,再获取Cookie html=requests.get(url,headers=headers) soup=BeautifulSoup(html.text,"html.parser") innerUrl=soup.select_one("a.name")["href"] #只需要的一个所以用select_one()来爬取一个内部的url#获取内部url即此处的href # print("获取内部URL:", innerUrl) innerHtml=requests.get(innerUrl,headers=headers) #这里的headers不需要变 soup=BeautifulSoup(innerHtml.text,"html.parser") result=soup.select(".table.-striped-col tbody tr td") for r in result: # with open("company.text","a",encoding="utf8") as f: #方法一:将爬到的内容存储在text文本中 # f.write(r.text+"/n") # with open("company.text","a",encoding="utf8") as f: # f.write("/n") r_lis=[] #方法二:将爬到的内容储存在csv文件中 r_lis.append(r.text) with open("company.csv","a",newline="",encoding="utf-8-sig") as csvfile: spamwriter=csv.writer(csvfile, delimiter=",") spamwriter.writerow(r_lis)print("已完成!")
这是本人的第一篇博文,这些内容主要是对我自己学习爬虫的记录和分享,如果代码中有什么问题的感谢各路大佬指正!!!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119993.html
摘要:如果该文件已存在,文件指针将会放在文件的结尾。运行结果以上是读取文件的方法。为了输出中文,我们还需要指定一个参数为,另外规定文件输出的编码。 上一篇文章:Python3网络爬虫实战---30、解析库的使用:PyQuery下一篇文章:Python3网络爬虫实战---32、数据存储:关系型数据库存储:MySQL 我们用解析器解析出数据之后,接下来的一步就是对数据进行存储了,保存的形式可以...
摘要:本次使用天天基金网进行爬虫,该网站具有反爬机制,同时数量足够大,多线程效果较为明显。技术路线代理池多线程爬虫与反爬编写思路首先,开始分析天天基金网的一些数据。一旦使用多线程,则需要考虑到数据的读写顺序问题。 @[TOC] 简介 提到爬虫,大部分人都会想到使用Scrapy工具,但是仅仅停留在会使用的阶段。为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,同时,引入IP代理池进行...
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:项目简介本文将介绍一个笔者自己的项目自制简单的诗歌搜索系统。该项目使用的模块为其中,模块和模块用来制作爬虫,爬取网上的诗歌。 项目简介 本文将介绍一个笔者自己的项目:自制简单的诗歌搜索系统。该系统主要的实现功能如下:指定一个关键词,检索出包含这个关键词的诗歌,比如关键词为白云,则检索出的诗歌可以为王维的《送别》,内容为下马饮君酒,问君何所之?君言不得意,归卧南山陲。但去莫复问,白云...
阅读 3417·2021-11-15 11:39
阅读 1551·2021-09-22 10:02
阅读 1307·2021-08-27 16:24
阅读 3594·2019-08-30 15:52
阅读 3410·2019-08-29 16:20
阅读 822·2019-08-28 18:12
阅读 547·2019-08-26 18:27
阅读 713·2019-08-26 13:32