Beautiful Soup 抓取网页的问题

问题描述

我用 beautifulsoup抓取一个一些网页的时候出现urllib2.urlopen(URL)不能取到 其代码, 比如 www.163.com/ www.sina.com这些网站 我抓他首页title都不能让我抓, 但是 抓其他网页 像 www.google.com www.baidu.com这些都没问题是不是 www.163.com/ www.sina.com这些网页本身加了什么限制 就不能用urllib2.urlopen 来获取网页了?如果是,怎么冲破他的限制呢 自由抓取呢代码很简单:import urllib2from BeautifulSoup import BeautifulSoup,Tagimport reimport osimport statdef analysis(url_str):page=urllib2.urlopen(url_str)soup = BeautifulSoup(page,fromEncoding="gb2312")#print unicode(soup.findAll("table")[4])kk=soup.html.head.titlereturn kkurl_str="http://www.163.com"str_string=analysis(url_str)print str_string

解决方案

lz你的代码我运行结果是乱码,我把fromEncoding="gb2312"改为"gbk"问题就解决了,网易和新浪网页的字符编码都是gbk,gbk包含的字符要比gb2312多点,所以用gb2312抓取gbk的网页可能会产生乱码
解决方案二:
可能跟http request中的User-Agent有关,有的网站只认定几个特定的user-agent.

时间: 2024-12-02 11:25:38

Beautiful Soup 抓取网页的问题的相关文章

用Python程序抓取网页的HTML信息的一个小实例

  这篇文章主要介绍了用Python程序抓取网页的HTML信息的一个小实例,用到的方法同时也是用Python编写爬虫的基础,需要的朋友可以参考下 抓取网页数据的思路有好多种,一般有:直接代码请求http.模拟浏览器请求数据(通常需要登录验证).控制浏览器实现数据抓取等.这篇不考虑复杂情况,放一个读取简单网页数据的小例子: 目标数据 将ittf网站上这个页面上所有这些选手的超链接保存下来. 数据请求 真的很喜欢符合人类思维的库,比如requests,如果是要直接拿网页文本,一句话搞定: ? 1 d

PHP抓取网页、解析HTML常用的方法总结

  这篇文章主要介绍了PHP抓取网页.解析HTML常用的方法总结,本文只是对可以实现这两个需求的方法作了总结,只介绍方法,不介绍如何实现,需要的朋友可以参考下 概述 爬虫是我们在做程序时经常会遇到的一种功能.PHP有许多开源的爬虫工具,如snoopy,这些开源的爬虫工具,通常能帮我们完成大部分功能,但是在某种情况下,我们需要自己实现一个爬虫,本篇文章对PHP实现爬虫的方式做个总结. PHP实现爬虫主要方法 1.file()函数 2.file_get_contents()函数 3.fopen()-

linux-Linux c socket抓取网页保存到文件一直是乱码

问题描述 Linux c socket抓取网页保存到文件一直是乱码 如题,建立连接后发送请求后,保存到文件的代码如下: while(recvSize=recv(sockfdrecvBufBUF_SIZE0)>0){ fwrite(recvBufsizeof(char)strlen(recvBuf)fp); printf(""%s""recvBuf); memset(recvBuf0sizeof(recvBuf)); } 网页可以在终端上正常显示,但是这样保存到

php抓取网页

用php抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等,抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,以下就是几种常用的用php抓取网页中的内容的方法. 1.file_get_contents PHP代码 <?php $url = "http://www.phpzixue.cn"; $contents = file_get_contents($url); //如果出现中文乱码使用下面代码 //$getcontent =

PHP的cURL库功能简介:抓取网页,POST数据及其他

  使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息. ﹤?php phpinfo(); ?﹥ 如果你可以在网

.NET2.0抓取网页全部链接

效果图 后台代码 以下为引用的内容:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using

蜘蛛抓取网页过程的四步曲

随着搜索引擎的不断发展与升级,搜索引擎所派出的蜘蛛也变得越来越智能了,所以为了要弄清楚蜘蛛的工作原理,为了更好的优化自己的网站我们就必须不断的去研究蜘蛛.下面,我就和大家简单的聊聊蜘蛛的基本工作原理吧: 蜘蛛工作的第一步:爬行你网站的网页,寻找合适的资源. 蜘蛛它有一个特性,那就是他的运动轨迹通常都是围绕着蜘蛛丝而走的,而我们之所以将搜索引擎的机器人命名为蜘蛛其实就是因为这个特性.当蜘蛛来到你的网站之后,它就会顺着你网站中的链接(蜘蛛丝)不断的进行爬行,因此如何让蜘蛛能够更好的在你的网站中进行爬

PHP实现抓取网页的所有超链接的代码

因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接.大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接. 通用HTML标准超链接参数取得正则表达式测试 因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接. 大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接. 测试代码如下:   <?php  // -------------------------------------------------------------------------- // 

ASP.NET实现抓取网页中的链接

asp.net|链接|网页 输入一个地址,就可以把那个网页中的链接提取出来,下面这段代码可以轻松实现,主要的是用到了正则表达式.      GetUrl.ASPx代码如下:      <%@ Page Language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" CodeBehind="GetUrl.aspx.vb&