利用python2.7抓取豆瓣电影top250
这个插件可以方便查看包括HTML在内许多内容
打开豆瓣电影排行榜top250网页,发现每页有25部电影,一共10页,其每一页url具有如下特征:
http://movie.douban.com/top250?start=0
http://movie.douban.com/top250?start=25
http://movie.douban.com/top250?start=50
http://movie.douban.com/top250?start=75
......
以此类推因此只需要利用循环对后面的0,25,...225处理即可。
网页点击任何一个电影中文名,右击鼠标“查看元素”查看HTML源代码:
可以发现电影名称放在 中,同时英文名也放在 中。
可以利用正则表达式(.*)匹配电影的中文名和英文名,但这里只想得到中文名,所以需要过滤英文名。
过滤方法可以利用find(str,pos_start,pos_end)函数实现,剔除英文名字里特有的特征:‘ ’和‘/’,详见代码。
3.代码实现
这里代码比较简单,因此就不用定义函数了。
#!/usr/bin/python # -*- coding: utf-8 -*- # import requests,sys,re from bs4 import BeautifulSoup reload(sys) sys.setdefaultencoding('utf-8') print '正在从豆瓣电影Top250抓取数据......' for page in range(10): url='https://movie.douban.com/top250?start='+str((page-1)*25) print '---------------------------正在爬取第'+str(page+1)+'页......--------------------------------' html=requests.get(url) html.raise_for_status() try: soup=BeautifulSoup(html.text,'html.parser') soup=str(soup) # 利用正则表达式需要将网页文本转换成字符串 title=re.compile(r'<span class="title">(.*)</span>') names=re.findall(title,soup) for name in names: if name.find(' ')==-1 and name.find('/')==-1: # 剔除英文名(英文名特征是含有' '和'/') print name # 创建名称,评分 except Exception as e: print e print '爬取完毕!'

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Utilisation alternative des annotations des paramètres Python Dans la programmation Python, les annotations des paramètres sont une fonction très utile qui peut aider les développeurs à mieux comprendre et utiliser les fonctions ...

Comment les scripts Python effacent-ils la sortie en position de curseur à un emplacement spécifique? Lors de l'écriture de scripts Python, il est courant d'effacer la sortie précédente à la position du curseur ...

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? En programmation, nous rencontrons souvent le problème du retour des valeurs nulles lorsque l'API appelle, ce qui n'est pas seulement déroutant ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Comment utiliser GO ou Rust pour appeler les scripts Python pour réaliser une véritable exécution parallèle? Récemment, j'ai utilisé Python ...

Python Binary Library (.WHL) Méthode de téléchargement explore les difficultés que de nombreux développeurs Python rencontrent lors de l'installation de certaines bibliothèques sur les systèmes Windows. Une solution courante ...
