Python爬虫结果为空TT 20C

新手修改了网上代码,想要爬百度新闻的标题和简介,不知道为什么运行结果是空。在mac自带的python2上运行:

 from urllib import urlopen
import csv
import re
from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
for k in range(1,36):
    url = "http://news.baidu.com/ns?word=低保&pn=%s&cl=2&ct=1&tn=news&rn=20&ie=utf-8&bt=0&et=0"% ((k-1)*20) 
    csvfile = file("Dibao.csv", "ab+")
    writer = csv.writer(csvfile)
    content = urlopen(url).read()
    soup = BeautifulSoup(content,"lxml")
    list0 = []
    list1 = []
    list2 = []
    list3 = []
    for i in range(1,20):
        hotNews = soup.find_all("div", {"class", "result"})[i]
        a1=hotNews.find(name="a", attrs={"target": re.compile("_blank")})
        list0.append(a1.text)
        a2=hotNews.find(name="p", attrs={"class": re.compile("c-author")})
        t1=a2.text.split()[0]
        list1.append(t1)
        t2 = a2.text.split()[1]
        list2.append(t2)
        if t2.find(u"年") == 4:
            t3 = a2.text.split()[2]
            list3.append(t3)
        else:
            list3.append(" ")
    #将数据写入csv
    data = []
    for i in range(0,20):
        data.append((list0[i], list1[i], list2[i],list3[i]))
    writer.writerows(data)
    csvfile.close()
    print "第" + str(k) + "页完成"

报错:
Traceback (most recent call last):
File "", line 12, in
IndexError: list index out of range

不懂参数过范围什么意思,新闻一共37页,每页20条。

希望有大神能帮忙看一下,多谢啦~

1个回答

你需要先确认hotNews = soup.find_all("div", {"class", "result"})[i]
这里能够找到这么多元素,如果没有那么多就会出现越界错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
爬虫爬取有结果,生成目标文件为空
使用scrapy框架爬取网页数据时,分明已经获取到数据了,日志也确认了这点那问题肯定是出在管道上了,可是文件被创建,却没被写入是什么鬼翻来覆去找了半个多小时...一点脾气都没有了的时候被找来帮忙的大佬发现了端倪process_item方法名被我写成了process_spider吐血。...
爬虫出现空列表或者长度为0是怎么回事?
 今天来总结一下在爬虫遇到的特殊情况,利用正则或者xpath来匹配提取数据,偶尔会发现可以找到这个对象,却无法提取它的下一阶层的数据,这是怎么一回事? 自己分析结果有以下几种: (1)自己的匹配写错了,怎么可能,我再三检查,对的不能再对了,排除这种情况,毕竟是本宝宝写的,谁还没有点小自信了。 (2)可能是User-Agent浏览器版本不兼容,遇到这种情况要注意了,先检查一下自己爬取的数据,看...
python爬虫-解决网页中取不到的信息-”真假网页“
首先介绍一下我所理解的“真假网页”,“真网页”就是我们可以直接通过网址(URL),获取这个“真网页”上的任何内容。“假网页”就是我们通过URL爬取网页信息时得到的结果为空,这一点相信大家在写爬虫程序时会经常遇到。比如我们想获取一个网页的信息,利用requests的get方法对URL进行请求,再用BeautifulSoup进行解析后我们发现得到的结果为空!这样我们就可能使用了一个“假网页”,比如我们...
BeautifulSoup获取字符串为None
网页源文件 <tbody> <tr> <td>1</td> <td class="align-left"> <a href="World-University-Rankings/Harvard-University.html"
python爬虫学习(2)用tesserocr识别图像验证码
在学习爬虫的过程中难免会遇到验证码问题,作为纯自动化的爬虫是不可能手动去输入验证码的。nn那么我们就要学会怎么去识别它。nn而验证码也分很多种类,主要的几种:nn(1)图像验证码:这是最简单的一种,也很常见。就比如CSDN登录几次失败之后就会出验证码。nnnn(2)滑块验证码:需要按住滑块并移到正确的位置。比如bilibili的登录验证。(这个我也写过识别代码,源码托管github:https:/...
用python写一个简单的爬虫保存在json文件中
学习python没多久,所以只能写一个很简单的爬虫啦~~ 我使用annacada 自带的spyder来写爬虫的,这次我们要爬取得网站是http://www.drugbank.ca/drugs, 主要是爬取里面每种药物的信息到json文件中,包括有 DrugBank ID,  Name , Weight, Structure,   Categories,   TherapeuticIndica
python爬取猫眼top100时,发现运行结果是两个中括号【 】
我个人是某一本普通大学计算机学院学生,最近在学习爬虫,用requests库和正则表达式爬取猫眼电影TOP100时,发现运行结果是两个中括号 【 】,希望大神指导一下,感激不尽!!!! 以下是我写的源代码!! import requests from requests.exceptions import RequestException import re def get_one_pag...
利用xpath爬取贴吧时返回的列表为空的问题解决方法
最近在爬取贴吧过程中发现一个小问题,就是爬取好网页HTML信息后,进一步利用xpath爬取站内需要的链接时,返回结果一直是空列表,代码检查了4、5遍一点问题都没有,但就是返回空列表class Spider(object): def extract_url(self,html): content=etree.HTML(html) result=content.xpath('//...
python爬虫:BeautifulSoup 使用select方法的使用
1 html = """ 2 html>head>title>The Dormouse's storytitle>head> 3 body> 4 p class="title" name="dromouse">b>The Dormouse's storyb>p> 5 p class="story">Once upon a time there were three little siste
python网络爬虫-数据存储之CSV
本篇文章主要实现的是数据存储使用csv格式的文件进行存储数据,可以集成到爬虫程序中。
使用python做微博爬虫遇到的问题(1)
使用的是python 2.7 python装不了requests: 百度上的大致意思是我的电脑的用户名是中文,python不支持中文 解决办法是在python文件路径下(我的是C:\Python27)的Lib\site-packages内新建一个名为“sitecustomize.py”的文件,文件里写入: import sys sys.setdefaultencoding...
stanfordcorenlp 斯坦福python 中文插件 分词 标注时 返回值为空字符问题解决方案
stanfordcorenlp 在做中文处理是返回值为  ['', '', '', '', ''] [('', 'NR'), ('', 'NN'), ('', 'VV'), ('', 'NR'), ('', 'PU')] [('', 'ORGANIZATION'), ('', 'ORGANIZATION'), ('', 'O'), ('', 'GPE'), ('', 'O')] 解决方法: ...
关于在Sqlite3中如何判断数据表返回的结果集是否为空的问题解决
1。如果查询语句中只有聚合函数,例如max,min,avg等。“select max(id) from tablename",在使用sqlite3_get_table调用成功后,返回的columnum和rownum都为1,即使数据表里无记录也是如此,我们在sqlite3 shell中可以看到该条查询语句在表为空的时候确实返回了1行1列,不过那个行为空行。在此种情况下,只能对返回的结果集字符串指针(
复制的Xpath抓取的内容为空
原代码coms=comments.xpath('//*[@id="newlist_list_content_table"]/table') for com in coms: position=com.xpath('tbody/tr[1]/td[1]/div/a/text()')纠正:去掉xpath中的tbody 原因:浏览器复制的xpath会自动优化,自己加上tbody,但网页源代码里是没
python爬虫爬取的网页数据解压缩的处理
网页压缩技术主要两种gzip和deflate DEFLATE是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法。 GZIP是使用DEFLATE进行压缩数据的另一个压缩库。 现在普遍支持gzip压缩,Deflate只是一种过时的网页压缩 if __name__ == &quot;__main__&quot;:     url='http://www.qq.com/'     req = requ...
关于scrapy爬虫获取具体标签内容为空的解决方法
在确认自己xpath或css部分写对的前提下,且在浏览器该网站能匹配到相关内容,为空原因: 有些标签是浏览器规范化额外加上去的,实际的网页源码并没有,例如font,tbody,(目前就遇到这两个,大家可以自行查找还有哪些,不过操作应该差不多。) 解决方法:若代码pub_time = response.xpath('//ul[@class=&quot;article-info&quot;]//font/font/t...
Python爬虫之基础篇
关于Python的基本语法就不多说了,这里直接从各个小的程序开始,本文会不断地进行更新,一步步来走进Python~同时也希望各位可以给点好的建议哈~一、在Kali Linux中安装sublime text 3:先下载sublime text 3,然后到下载的目录中执行以下命令即可:dpkg -i ./sublime-text_build-3126_amd64.deb二、Socket模块:在导入so...
python2.7爬虫实例详细介绍之爬取大众点评的数据
一.Python作为一种语法简洁、面向对象的解释性语言,其便捷性、容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python能够帮助我们实现越来越多的功能。本文主要介绍如何利用python进行网站数据的抓取工作。我看到过利用c++和java进行爬虫的代码,c++的代码很复杂,而且可读性、可理解性较低,不易上手,一般是那些高手用来写着玩加深对c++的理解的,这条路目前对我们不通...
假如你已经开始学python,对爬虫没有头绪,不妨看看这几个案例!
一、论述这几个案例以前是给一些想进入Python行业的朋友写的,看到大家都比较满意,所以就再次拿了出来,如果你已经开始学python,对爬虫没有头绪,不妨看看这几个案例!二、环境准备Python 3requests库 、lxml库、beautifulsoup4库pip install XX XX XX一并安装。三、Python爬虫小案例1、获取本机的公网IP地址利用python的requests库...
Python网络爬虫出现乱码的原因
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。 网络爬虫出现乱码的原因 源网页编码和爬取下来后的编码格式不一致。 如源网页为gbk编码的字节流,而我们抓取下后程序直接使用utf-8进行编码并输出到存储文件中,这必然会引起乱码 即当源网页编码和抓取下来后程序直接使
用于爬取百度搜索结果的python爬虫
可以访问关键词,并将百度返回的760页结果标题以及URL返回
Python中的爬虫输出编码问题
Python中的爬虫输出编码问题今天我跟随网络上的视频学习Python的爬虫编写,试着爬取百度百科,最后有一步需要输出爬取到的数据到文件中,以下是相应的代码:def output_html(self): fileOut = open('output.html','w') fileOut.write("<html>") fileOut.write("<b
python——爬虫学习——爬取淘宝搜索结果-(5)
python爬虫
__init__.py空文件是什么?
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。
Python爬虫中json数据的处理
我们在爬取网页数据的时候,遇到json时候,而json会有多种格式。以下我接收下json标准格式和非标准格式的获取方法。一:标准的json获取方法:直接使用result=json.loads(html.text),将str类型转为字典类型二:非标准的json此处可看出比标准json格式多了个括号,而括号里面是标准的json格式获取方法:使用正则,提取我们所需的字段  如 html=html[1:]...
python爬虫爬取百度搜索结果
python爬虫爬取百度搜索结果用到的工具 python urllib BeautifulSoup 简介 爬虫的思路是用程序模拟浏览器浏览网页的工程,通过获取网页内容,并利用正则表达式等来提取页面上自己需要的内容. 工作流程 构建访问请求 获取网站响应 提取关键数据 构建访问请求requestpthon可以由urllib.Request类来构建http,ftp等网络访问请求.对于Request类的构
python新浪微博爬虫
python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫python新浪微博爬虫
mysql游标结果为空
mysql游标结果为空
python爬虫中文不能正常显示问题的解决
    最近作业要用到网站(http://nba.sports.sina.com.cn/players.php)中的数据,初次爬取,中文不能正常显示。查找了很多资料,参考了很多例子。理论没了解很多,但最终实现效果了。直接贴项目中实现的代码:import requests import urllib.request from lxml import etree #要抓取的页面链接 url='http...
爬虫 爬取不到数据原因总结
javascript:void(0);
爬虫奇遇记——爬不到想要的内容
这一系列将分享在写网络爬虫时遇到的奇葩事 我们在写爬虫时,总是先F12看一下网页的源代码,看到内容后再想策略去抓取想要的内容,这种思路对于文本内容是静态的话是行得通的,但是如果遇到动态加载的内容,就很麻烦了,你会发现你爬下的html文件里根本找不到你想要的内容,这也是网络商应对爬虫的一种策略。 下面举例说明,用站长之家的SEO查询来讲 比如想抓这个中文网站排名的数据,看一下源码:
python 爬虫实例宋城路
python 爬虫实例 python 爬虫实例 python 爬虫实例 python 爬虫实例 python 爬虫实例
python保存csv文件内容每隔一行就有空行的问题
爬虫把item交给pipeline保存为csv文件,发现保存的文件里,每行内容后面都插入一个空行,有些教程去修改scrapy包里在CsvItemExporter的__init__ 的io.TextIOWrapper添加了newline='',但是我试了没有效果        self.file = open('data.csv', 'w',encoding='utf-8')            ...
python queue和多线程的爬虫 与 JoinableQueue和多进程的爬虫
多线程加queue的爬虫 以自己的csdn博客为例(捂脸,算不算刷自己博客访问量啊,哈哈哈) 代码比较简单,有注释: # -*-coding:utf-8-*- """ ayou """ import requests from requests.exceptions import HTTPError, ConnectionError from bs4 import BeautifulSou
精通python爬虫
精通python爬虫精通python爬虫精通python爬虫精通python爬虫精通python爬虫精通python爬虫精通python爬虫
python采集百度彩票双色球开奖结果_requests爬虫
python采集百度彩票双色球开奖结果
爬虫学习——爬虫之soup.select()用法浅析
在学习Python爬虫过程中,主要用两个模块:import requests from bs4 import BeautifulSouprequests用于将链接转化成html语言,而BeautifulSoup则用于查找需要的内容。最开始一般写成如下格式:res = requests.get('https://www.qiushibaike.com/hot/#') #以糗事百科为例 soup =
数据库里有数据但是python取出来发现是空的
为什么fetchall()的结果是空的,但是sql语句在数据库中查询是空的 我的python连接到的数据库只能取到21:00到00:00的数据,而用sql语句连接数据库的是有所有数据的 最后问题查到了,原来是调用sql语句的函数的参数写反了,还是code style不规范啊!导致白白丢了两天时间 教训
【R语言爬虫】网贷天眼平台表格数据爬虫1
一、需求分析 目标:利用R语言 rvest包 抓取网贷天眼数据平台表格数据。抓取url:http://www.p2peye.com/shuju/ptsj/二、抓取步骤讲解: 1、安装rvset包 install.packages(“rvest”) 2、加载rvest包 library(“rvset”) 3、read_html()函数下载网页源代码
Python简单爬虫导出CSV文件
核心代码: ####写入Csv文件中 with open(self.CsvFileName, 'wb') as csvfile: spamwriter = csv.writer(csvfile, dialect='excel') #设置标题 spamwriter.writer
SQLALCHEMY 中查询一直返回空的问题
问题描述HabitQuestion表有个last_answer_time字段,默认是null,就是要做它的筛选过滤。 一开始使用代码如下:base_query = base_query.filter(HabitQuestion.last_answer_time.isnot(None)).order_by(HabitQuestion.last_answer_time.desc()))其中last_a
爬取百度搜索结果的爬虫
(本文原作于2017年4月4日) 是这样的,在所谓的网络空间搜索引擎钟馗之眼搜索某cms名称,发现搜索结果只有可怜的17条,而在百度搜索“”Powered by 某cms””,结果有约2,150个,差距还是很大的。而去国外的那个撒旦搜这个cms,结果直接为“No results found”。好吧,还得靠百度。 为便于程序自动化处理搜索结果,便产生了写一个Python脚本来自动搜索的想法。要求...
python爬虫获取基金数据<2>
用sklearn分析基金数据&amp;lt;1&amp;gt;python爬虫获取基金数据&amp;lt;2&amp;gt;数据预处理:数据清洗、生成样本数据&amp;lt;3&amp;gt;用sklearn训练样本数据&amp;lt;4&amp;gt;用模型进行预测及改进&amp;lt;5&amp;gt;     前面已经说了大致思路,需要用上个月所有基金的表现情况来预测这个月所有基金的表现情况,数据的获取显然是第一步,像基金这种开放的数据通过python爬虫来得到自然...
scrapy利用xpath抓取数据的值有\r\n\t
原文:https://www.cnblogs.com/VseYoung/p/8689171.html利用normalize-space 函数 (XPath)即可item['time'] = sel.xpath('normalize-space(./span[4]/span[1]//text())').extract()把xpath表达式作为normalize-space()函数的参数...
使用extract()进行xpath解析的几种情况
最近在做爬虫的细节整理,想要弄清楚一些原来没有注意的问题,特此总结! 在进行对HTML解析时我们可能会遇到如下五种情况: 返回一个SelectorList 对象 SelectorList 类是内建 list 类的子类,提供了一些额外的方法: xpath(query) css(query) extract() re() __nonzero__() 返回一个list(就是系统自带...
Python爬虫爬取百度搜索结果——邮箱地址
因为需要拿一些外部邮箱做测试,所以要获得一些真实的邮箱地址,我在百度上搜索"@xxxx.com.cn"(xxxx保密,哈哈)之后,得到大概1,700,000条结果。但我只需要一千个不重复的就够了,鼓捣了一下午终于搞定,直接贴上代码,具体说明都写在注释里。(另外我发现学会正则表达式真的特别重要,附上大神写的正则表达式学习指南:http://www.cnblogs.com/huxi/archive/2
小甲鱼python视频教程053~055论一只爬虫的自我修养
论一只爬虫的自我修养 Python如何访问互联网 URL+lib》》》urllib URL的一般格式为(带方括号[]的为可选项) Protocol://hostname[:port]/path/[;parameters][?query]#fragment   URL由三部分组成: ---第一部分是协议:http,https,ftp,file,ed2k… ---第二部分是存放资源的服
python爬虫:处理POST请求(获取有道翻译翻译结果)学习笔记
# -*- coding: utf-8 -*- """ Created on Sun Oct 23 09:24:18 2016 @author: hhxsym """ import requests import json #POS请求:直接向服务器发送数据 #get请求:从服务器获取数据 #有道,向服务器发送数据,再获取数据 def get_trans
爬虫爬取京东部分需要的数据,遇到的一些问题总结
hi all: 上一篇博客中写的代码有一些问题。 问题一:beautifulsoup运行时占用内存直线上升的问题。 运行时内存占用严重经过我后来的分析,问题主要产生在re_goodsname = last_list[0].string这行代码上,只要将.string改成.text即可。原因是re_goodsname = last_list[0].string类型是beautisoup的自定义...
Python爬虫数据提取方式——使用xpath提取页面数据
xpath:跟re,bs4,pyquery一样,都是页面数据提取方法。                xpath是根据元素的路径来查找页面元素。安装lxml包:pip install lxmlHTML实例:html = &quot;&quot;&quot; &amp;lt;div id='content'&amp;gt; &amp;lt;ul class='list'&amp;gt; &amp;lt;li class=...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问