2 heyi7949 heyi7949 于 2017.09.07 11:53 提问

python爬虫 BeautifulSoup

from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import random
import datetime

random.seed(datetime.datetime.now())
def getLinks(articleUrl):

html=urlopen("http://en.wikipedia.org" + articleUrl).read()
bsobj=BeautifulSoup(html,"html.parser")

return bsobj.find("div",{id:"bodyContent"}). find("a",{"href", re.compile("^(/wiki/)((?!:).)*$")})

links=getLinks("/wiki/kevin_Bacon")
while len(links)>0:
newArticle=links[random.randint(0,len(links)-1)].attrs["href"]
print(newArticle)
links=getLinks(newArticle)
图片说明

2个回答

eye_water
eye_water   2017.09.07 11:55

定位的节点没有find属性,你的节点可能定位错了。

oyljerry
oyljerry   Ds   Rxr 2017.09.07 13:51

bsobj.find("div",{id:"bodyContent"})
这个对象估计是None,没有找到页面对应的元素,所以后面find就出错了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python爬虫-beautifulsoup.ipynb
python爬虫-beautifulsoup实践代码python爬虫-beautifulsoup实践代码
beautifulsoup python
beautifulsoup python 网页抓取 爬虫
Python---BeautifulSoup 简单的爬虫实例
通过Python BeautifulSoup实现爬虫,爬虫实例介绍
Python爬虫实例——基于BeautifulSoup和requests实现
爬取的目标网页:http://www.qianlima.com/zb/area_305/ 这是一个招投标网站,我们使用python脚本爬取红框中的信息,包括链接网址、链接名称、时间等三项内容。 使用到的Python库:BeautifulSoup、requests 代码如下: # -*- coding:utf-8 -*- import requests from bs4 import
Python3 爬虫(八) -- BeautifulSoup之再次爬取CSDN博文
序 我的Python3爬虫(五)博文使用utllib基本函数以及正则表达式技术实现了爬取csdn全部博文信息的任务。 链接:Python3 爬虫(五) -- 单线程爬取我的CSDN全部博文 上一篇,我们学习了BeautifulSoup这样一个优秀的Python库,必须有效利用起来。那么我们就利用BeautifulSoup4重新实现一次爬取csdn博文的任务。 由于我修改了博客配置,
使用BeautifulSoup的简单小爬虫
最近稍微看了点python的入门, runoob上面的入门过了一遍 python的菜鸟教程。网上看爬虫用BeautifulSoup就能简单的尝试下,就学着写了个百度贴吧的,算是小爬虫吧。。。安装BeautifulSoup先从官网上down下来 然后解压再用python安装 官网地址 https://www.crummy.com/software/BeautifulSoup/#Download 具
Python爬虫包 BeautifulSoup 学习(三) 实例
一步一步构建一个爬虫实例,抓取糗事百科的段子先不用beautifulsoup包来进行解析第一步,访问网址并抓取源码# -*- coding: utf-8 -*- # @Author: HaonanWu # @Date: 2016-12-22 16:16:08 # @Last Modified by: HaonanWu # @Last Modified time: 2016-12-22 20:
python爬虫还在用BeautifulSoup?你有更好的选择!
1.前言 1.1 抓取网页 本文将举例说明抓取网页数据的三种方式:正则表达式、BeautifulSoup、lxml。 获取网页内容所用代码详情请参照Python网络爬虫-你的第一个爬虫。利用该代码获取抓取整个网页。 import requests def download(url, num_retries=2, user_agent='wswp', proxies=None): ...
Python爬虫包 BeautifulSoup 学习(五) 实例
BeautifulSoup使用BeautifulSoup抓取豆瓣电影的一些信息。# -*- coding: utf-8 -*- # @Author: HaonanWu # @Date: 2016-12-24 16:18:01 # @Last Modified by: HaonanWu # @Last Modified time: 2016-12-24 17:25:33import urlli
python学习(6):python爬虫之requests和BeautifulSoup的使用
前言: Requests库跟urllib库的作用相似,都是根据http协议操作各种消息和页面。 都说Requests库比urllib库好用,我也没有体会到好在哪儿。 但是,urllib库有一点不爽的是:urllib.request.urlretrieve(url, localPath)函数在将某些图片链接保存到本地时,会出现错误:httpError:304 Forbidden 为什么会