使用requests
库爬取豆瓣top250
,通过BeautifulSoup
库筛选数据,将页面文件爬取并写入到source.txt
文件中,并同时通过csv
库输出内容至csv
文件中。
首先安装requests库,提示已存在
首先对requests库进行基本使用,创建一个1.py文件,并调用requests
生成一个requests对象
设置编码格式,不然会导致乱码
打印状态码并将内容输出,查看结果。
修改程序,让程序将爬取到的页面保存至文件,并将py文件重命名为simspider.py
运行程序,桌面成功多出一个source.txt文件,且内容正是爬取的内容,测试完毕,开始正式编写!
新建一个python文件,名字为simspider.py,同时撰写代码
运行程序,桌面多了个文件source.txt,同时内容为页面内容
开始筛选数据,并同时将数据保存至csv文件
完整代码如下:
运行,桌面多了个result.csv,查看result.csv文件,与页面文件比对是否全部抓取到有效数据。
经历了许多问题,首先的问题就是requests的get请求不到任何东西,在网络上找了半天,原因是豆瓣屏蔽了不正常的ua,但是百度没有屏蔽,所以一开始百度可以进行爬取,后面设置了头部信息ua之后,就可以对豆瓣进行抓取了,抓取到了之后发现了问题,通过re库的findall太难筛选了,后面直接使用了神器BeautifulSoup4,简直就是爬虫利器啊,可以直接通过class啥的定位,还能直接获取文字属性值什么的,爽的不要不要的,最后就是保存文件的时候,折腾了我2个小时,我都吐了,一开始用的pandas库,结果发现由于使用的是list的方式存储,pandas库又不支持直接将list数据存入csv文件,最后直接祭出csv库,通过writerow直接一行一行数据加入,最后在关闭文件,ok成功!编码问题也要注意,gbk最适合文件保存了,utf8就适合读取了。