pycharm运行不了里写脚本后运行报错AttributeError: 'NoneType' object has no attribute 'click'如何解决呢?

下面的python代码有错误。我在逃避剧本。我使用的是Python2.7.12。import osimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom IPython import get_ipythonipython_shell = get_ipython()get_ipython().run_line_magic('matplotlib', 'inline')我试过同时使用py和jpy扩展。试图更改导入matplotlib的语法,但没有任何工作。使用python运行时出现的错误显示Traceback (most recent call last):File "LR.jpy", line 7, in get_ipython().run_line_magic('matplotlib', 'inline')AttributeError: 'NoneType' object has no attribute 'run_line_magic'运行iPython时出错---------------------------------------------------------------------------ImportError Traceback (most recent call last)C:\Users\Roland\Google Drive\Work\Machine Learning\machine-learning-ex1\ex1\LR.jpy in ()5 from IPython import get_ipython6 ipython_shell
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
最近在练习学到的爬虫实例遇到AttributeError: ‘NoneType’ object has no attribute 'find_all’的错误。爬虫要求如下:任务描述:https://movie.douban.com/cinema/later/beijing/ 这个页面描述了北京最近上映的电影,你能否通过 Python 得到这些电影的名称、上映时间和海报呢?这个页面的海报是缩小版的,我希望你能从具体的电影描述页面中抓取到海报。在运行老师给的代码如下:import requests
from bs4 import BeautifulSoup
def main():
url = "https://movie.douban.com/cinema/later/beijing/"
init_page = requests.get(url).content
init_soup = BeautifulSoup(init_page, 'lxml')
all_movies = init_soup.find('div', id="showing-soon")
for each_movie in all_movies.find_all('div', class_="item"):
all_a_tag = each_movie.find_all('a')
all_li_tag = each_movie.find_all('li')
movie_name = all_a_tag[1].text
url_to_fetch = all_a_tag[1]['href']
movie_date = all_li_tag[0].text
response_item = requests.get(url_to_fetch).content
soup_item = BeautifulSoup(response_item, 'lxml')
img_tag = soup_item.find('img')
print('{} {} {}'.format(movie_name, movie_date, img_tag['src']))
main()
出现错误:NoneType object has no attribute ‘find_all’看一下需要爬取的数据和源码:发现都没有错,然后打印出现NoneType的地方:结果显示:<class 'NoneType'>
经过查阅资料发现:出现这种问题就是,获取不到数据。原因就是该网站被爬太多次,我们被该网页服务器的反爬虫程序发现了,并禁止我们爬取。因此我们需要模拟浏览器,重新给服务器发送请求,并且添加头等信息headers,headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。下面大致看一下设置header的原因和用法。为什么要设置header?在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。headers在哪里找?谷歌或者火狐浏览器,在网页面上点击:右键–>检查–>剩余按照图中显示操作,需要按Fn+F5刷新出网页来有的浏览器是点击:右键->查看元素,刷新注意:headers中有很多内容,主要常用的就是user-agent 和 host,他们是以键对的形式展现出来,如果user-agent 以字典键对形式作为headers的内容,就可以反爬成功,就不需要其他键对;否则,需要加入headers下的更多键对形式。你可以找你的浏览器的header,我这里直接给出一个header运行header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}
init_page = requests.get(url, headers=header).content
把header参数加入到获取信息requests里面。继续运行程序:出现TypeError: ‘NoneType’ object is not subscriptable又是NoneType的问题,解决方法一样。打印NoneType,然后还是加入header信息。解决问题后,最后爬取结果如下:通往春天的列车 09月17日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2620365836.jpg
麦路人 09月17日 https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2619912723.jpg
死无对证 09月18日 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2620256769.jpg
邻里美好的一天 09月18日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2620261010.jpg
萌宠流浪记 09月18日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2620364842.jpg
蓝色防线 09月18日 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2617621409.jpg
红巴山 09月18日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2617808060.jpg
世纪之缘 09月22日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2617650682.jpg
菊次郎的夏天 09月25日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2620392435.jpg
夺冠 09月25日 https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2620083313.jpg
急先锋 09月30日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2619027144.jpg
姜子牙 10月01日 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2617446867.jpg
我和我的家乡 10月01日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2616128001.jpg
一点就到家 10月01日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2619723175.jpg
奇妙王国之魔法奇缘 10月01日 https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2614907771.jpg
木兰:横空出世 10月03日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2616737564.jpg
月半爱丽丝 10月30日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2619823575.jpg
日不落酒店 12月12日 https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2619899048.jpg
小美人鱼的奇幻冒险 12月12日 https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2614997193.jpg
拆弹专家2 12月24日 https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2614798555.jpg
Process finished with exit code 0
参考《Python核心技术与实战》《Python——爬虫【Requests设置请求头Headers】》https://blog.csdn.net/ysblogs/article/details/88530124《AttributeError: ‘NoneType’ object has no attribute ‘find_all’(添加请求头信息)》

我要回帖

更多关于 pycharm运行不了 的文章

 

随机推荐