鱼C论坛

 找回密码
 立即注册
查看: 2714|回复: 8

[已解决]爬取豆瓣某一页的电影名称并保存为csv文件

[复制链接]
发表于 2020-11-27 22:18:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
采用urllib爬取https://movie.douban.com/chart 页面下的电影名称,将其保存在movie.csv文件中
最佳答案
2020-11-29 19:30:18
本帖最后由 suchocolate 于 2020-11-29 19:37 编辑
私はり 发表于 2020-11-29 19:24
竖着·排列怎么变


竖着排列
import requests
from lxml import etree
import csv

def main():
    url = 'https://movie.douban.com/chart'
    headers = {'user-agent': 'firefox'}
    r = requests.get(url, headers=headers)
    html = etree.HTML(r.text)
    result = html.xpath('//span[@style="font-size:13px;"]/text()')
    print(result)
    with open('movies.csv', 'w', encoding='utf-8', newline='') as csvfile:   # 注意多了一个newline参数,防止空行出现。
        writer = csv.writer(csvfile)
        for item in result:
            writer.writerow([item])
    print('done')


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-28 17:14:01 | 显示全部楼层
本帖最后由 suchocolate 于 2020-11-28 20:48 编辑
from urllib import request
from lxml import etree
import csv


def main():
    headers = {'User-Agent': 'Firefox'}
    req = request.Request('https://movie.douban.com/chart', headers=headers)
    r = request.urlopen(req)
    html = etree.HTML(r.read().decode('utf-8'))
    result = html.xpath('//span[@style="font-size:13px;"]/text()')
    print(result)
    with open('movies.csv', 'w', encoding='utf-8') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(result)
    print('done')


if __name__ == '__main__':
    main()

import requests
from lxml import etree
import csv

def main():
    url = 'https://movie.douban.com/chart'
    headers = {'user-agent': 'firefox'}
    r = requests.get(url, headers=headers)
    html = etree.HTML(r.text)
    result = html.xpath('//span[@style="font-size:13px;"]/text()')
    print(result)
    with open('movies.csv', 'w', encoding='utf-8') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(result)
    print('done')


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-29 19:24:32 | 显示全部楼层

竖着·排列怎么变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-29 19:26:35 | 显示全部楼层

那个正则表达式怎么写的,最后那个两行代码是什么意思呢 ,大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-29 19:30:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-11-29 19:37 编辑
私はり 发表于 2020-11-29 19:24
竖着·排列怎么变


竖着排列
import requests
from lxml import etree
import csv

def main():
    url = 'https://movie.douban.com/chart'
    headers = {'user-agent': 'firefox'}
    r = requests.get(url, headers=headers)
    html = etree.HTML(r.text)
    result = html.xpath('//span[@style="font-size:13px;"]/text()')
    print(result)
    with open('movies.csv', 'w', encoding='utf-8', newline='') as csvfile:   # 注意多了一个newline参数,防止空行出现。
        writer = csv.writer(csvfile)
        for item in result:
            writer.writerow([item])
    print('done')


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-29 19:41:02 | 显示全部楼层
私はり 发表于 2020-11-29 19:26
那个正则表达式怎么写的,最后那个两行代码是什么意思呢 ,大佬

那个是xpath,是用来解析html的,你网上搜一下就知道了。
if __name__ == '__main__'当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。
习惯性写法,养成好习惯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-29 20:15:28 | 显示全部楼层
suchocolate 发表于 2020-11-29 19:41
那个是xpath,是用来解析html的,你网上搜一下就知道了。
if __name__ == '__main__'当模块被直接运行时 ...

好的 多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-29 20:19:18 | 显示全部楼层

import requests
from bs4 import BeautifulSoup
url2="https://movie.douban.com/chart"
hs={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',}
res = requests.get(url2, headers=hs)
print(res.status_code)
text = res.text
#print(text)
soup = BeautifulSoup(text,'html.parser')
tags = soup('img')
for li in tags:
  result=li['alt']
  print(result)
我这个代码 的 alt  那几行代码是干什么的呀
tags = soup('img')
for li in tags:
  result=li['alt']
  print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-30 20:11:18 | 显示全部楼层
私はり 发表于 2020-11-29 20:19
import requests
from bs4 import BeautifulSoup
url2="https://movie.douban.com/chart"

img元素的alt属性的内容,以后不知道内容多打印一下就知道了,学会自己分析。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 05:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表