BS4爬取电影天堂的下载地址并保存至csv文件
思路:BS4爬取电影天堂中最新电影名称及下一级链接中的下载地址,结果保存至csv文件
存在问题及需要完善(恳请各位大神提供帮助):
(1)采集结果中的下载链接存在乱码;
(2)代码需要优化。
# coding=utf-8
import requests
from bs4 import BeautifulSoup
import time
import csvdef getHtml(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'}page = requests.get(url, headers=headers)page.encoding = "gb2312"html = page.text#print(html)soup = BeautifulSoup(html, 'html.parser')for li in soup.find_all('div', class_="co_content8"):for url_info in li.find_all('a', class_="ulink"):moviename= url_info.get_text()url_1= 'http://www.dytt8.net' + url_info['href']print(moviename)print(url_1)#详情页req2 = requests.get(url_1, headers=headers)req2.encoding = 'gb2312'content2 = req2.contentsoup = BeautifulSoup(content2, 'html.parser')for td in soup.find_all('td', attrs={'style': 'WORD-WRAP: break-word'}):for url_2 in td.find_all('a'):url_3 = url_2.stringprint(url_3)item = { # 将获取的结果存储为字典"name": moviename,"link": url_1,"link3": url_3}save_result(item) # 每次获取一个结果后,存储一次item.clear() # 存储后清空字典,为下次存储做准备
#存储
def save_result(item):#保存在TXT#with open('result.txt','a ')as f:#f.write(json.dumps(content) + '\n')#f.close()#保存在csv中with open('dy.csv', 'a', newline='',encoding='utf-8') as csvfile: # 打开一个csv文件,用于存储fieldnames = ['name', 'link','link3']writer = csv.DictWriter(csvfile, fieldnames=fieldnames)writer.writerow(item)
def main():with open('dy.csv', 'a', newline='') as csvfile: # 写入表头writer = csv.writer(csvfile)writer.writerow(['name', 'link','link3'])#url = "https://www.dytt8.net/html/gndy/dyzz/index.html"#getHtml(url)#翻页1'''urls = ['https://www.dytt8.net/html/gndy/dyzz/list_23_1.html','https://www.dytt8.net/html/gndy/dyzz/list_23_2.html']for url in urls:getHtml(url)time.sleep(2)'''#翻页2for i in range(1,3):print('正在访问第'+format(i)+'页')url ='https://www.dytt8.net/html/gndy/dyzz/list_23_'+ str(i)+'.html'getHtml(url)time.sleep(2)
if __name__ == '__main__':main()
采集结果:(结果中存在乱码)
BS4爬取电影天堂的下载地址并保存至csv文件相关推荐
- BS4爬取电影天堂的下载地址并保存至csv文件(一)
修改: (1)修改了结果中存在乱码的问题: # coding=utf-8 import requests from bs4 import BeautifulSoup import time impor ...
- python爬取电影天堂的下载链接
python爬取电影天堂dytt8的下载链接 电影天堂下载链接都是magnet的,搞下来想下就下没有广告 建一个main.py 一个一个挨着去爬肯定慢啊,建一个多线程的去爬 mui.py 多线程有可能 ...
- 爬取去哪儿网旅游数据并且保存为csv文件
参考用Python分析元旦旅游热门城市,告诉你哪些景点性价比更高''一文,我们可以到去哪儿网站上爬取某个城市,比如厦门的旅游数据,并且在此基础上进行数据分析.下面简单总结一下爬取的过程. 一.获取js ...
- Scrapy 简单爬取厨房网站菜谱清单,并将结果保存为csv文件
链接:http://www.xiachufang.com/explore/ from scrapy import Request from scrapy.spiders import Spidercl ...
- python爬取电影天堂新片精品模块电影列表,并用迅雷下载
python版本是3.6.5,上代码: # 爬取电影天堂 from selenium import webdriver import requests from bs4 import Beautifu ...
- 爬虫学习(一)---爬取电影天堂下载链接
欢迎加入python学习交流群 667279387 爬虫学习 爬虫学习(一)-爬取电影天堂下载链接 爬虫学习(二)–爬取360应用市场app信息 主要利用了python3.5 requests,Bea ...
- 爬取电影天堂最新电影的名称和下载链接
此次的目标是爬取电影天堂最新200页的最新电影的电影名称和下载链接,电影的下载链接在二级页面,所以需要先匹配一级页面的所有链接,然后逐个请求二级页面,代码如下: """爬 ...
- scrapy初步-简单静态爬虫(爬取电影天堂所有电影)
之前用java写过一个简单的爬取电影天堂信息的爬虫,后来发现用python写这种简单的爬虫程序更简单,异步网络框架在不使用多线程和多进程的情况下也能增加爬取的速度,目前刚开始学scrapy,用这个写了 ...
- 使用 beautifulsoup4 爬取 电影天堂IMB 评分8.0以上的 欧美电影
一.目的: 个人比较喜欢看欧美电影,最近刚学了爬虫,所以敲了这个程序 来爬取 电影天堂IMB 评分8.0以上的 欧美电影 跟大家分享一下. 二.爬取电影天堂需要掌握的基本技能: 1.熟悉python ...
最新文章
- androidstudio判断手指滑动方向_方向盘的黑科技有多“黑”
- 新网站优化基本流程不可忽视!
- 冒泡排序python代码_Python-排序-冒泡排序-优化
- 测试开发之测试方法第二篇
- 信用评分卡 (part 3of 7)
- meethigher-文库下载实现自动化
- 常见的IC封装形式大全
- 【@MaC 修改MySQL密码】
- 1074 Reversing Linked List
- prometheus监控nginx
- 图片公式提取至文档word
- pc端和移动端两套样式在vue中的切换
- 微信小程序video组件/腾讯视频插件,禁止拖动进度条,使用遮罩层的方式实现
- 2022-03-30 StackOverflowError与OutOfMemoryError详解
- python名片管理系统难点总结_Python学习笔记之名片管理系统
- keyPress事件与KeyPressEventArgs
- l28n和开发版_*** am335x开发板的疑问以及解答
- windows系统安装配置mysql8,并设置远程访问
- P44 break continue
- Python 爬虫实战(三) 获取百度地图搜索结果