导航:首页 > 编程语言 > python爬取起点网

python爬取起点网

发布时间:2022-08-21 08:09:06

python怎样爬取整站

如果是python2.7,利用urllib和urllib2进行爬取,对于要爬取的网站,需要做一些分析,比如要爬取的内容是登录后才看得到的,那就先要实现模拟登陆,再进行爬取。爬取时一般是发起get请求,携带的参数可以通过浏览器的开发者模式分析网页请求来查看。如果是python3,原理也差不多,用的模块稍微不一样一些

❷ Python如何实现爬取需要登录的网站代码实例

final String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
final String user = "store";
final String password = "store_password";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, user, password);
return con;
}

❸ 如何用 python 爬取简单网页

测试环境:Windows10+Python3.5.2

打开命令提示符(管理员),输入pip3 install requests安装requests模块

importrequests,re
#获取网页
r=requests.get('http://www.bilibili.com')
#正则表达式获取标题
res=re.search(r'<title>([^<]*)</title>',r.text)
print(res.group(1))
>>>哔哩哔哩弹幕视频网-(゜-゜)つロ干杯~-bilibili

❹ 怎么样python爬虫进行此网站爬取

❺ 如何用Python爬取数据

方法/步骤

❻ python 怎样爬取网页所有链接

给你贴一下我前一段时间回答的类似问题,用的soup,还有一个用的正则就不贴了,手机不太方便,如下。
import beautifulsoup
import urllib2

def main():

userMainUrl = "你要抓取的地址"
req = urllib2.Request(userMainUrl)
resp = urllib2.urlopen(req)
respHtml = resp.read()
foundLabel = respHtml.findAll("label")

finalL =foundLabel.string

print "biaoti=",finalL
if __name__=="__main__":

main();

PS:如果不会改的话追问一下,回头我用电脑给你写一份

❼ python 怎样爬去网页的内容

用python爬取网页信息的话,需要学习几个模块,urllib,urllib2,urllib3,requests,httplib等等模块,还要学习re模块(也就是正则表达式)。根据不同的场景使用不同的模块来高效快速的解决问题。

最开始我建议你还是从最简单的urllib模块学起,比如爬新浪首页(声明:本代码只做学术研究,绝无攻击用意):

这样就把新浪首页的源代码爬取到了,这是整个网页信息,如果你要提取你觉得有用的信息得学会使用字符串方法或者正则表达式了。

平时多看看网上的文章和教程,很快就能学会的。

补充一点:以上使用的环境是python2,在python3中,已经把urllib,urllib2,urllib3整合为一个包,而不再有这几个单词为名字的模块

❽ 怎么用python爬取一个网站的网页数量

1.
这个要根据你的网站地址进行分析,构造网站的url,通过for循环,做统计输出,从而计算出一个网站的网页数量。
2.
由于你未给出具体网站的地址,只能给你说个流程如上。
望采纳,希望能帮到你。。。。。。

❾ Python使用beautifulsoup如何爬取小说正文全部内容

单章的部分应该没问题,去目录页爬下章节链接存列表里遍历爬取就行了吧。
另外通常手机版站点的反爬会弱一些,有没有考虑爬手机站?

github、csdn、博客园等等站会有相关的博文涉及相关爬虫和源码,去参考一下也好。
还解决不了的话先把“全部正文,不知道咋回事目录都爬不下来”的情况说的更详细一点。

❿ 如何用 Python 爬取需要登录的网站

步骤一:研究该网站

打开登录页面

进入以下页面 “bitbucket.org/account/signin”。你会看到如下图所示的页面(执行注销,以防你已经登录)

仔细研究那些我们需要提取的详细信息,以供登录之用

在这一部分,我们会创建一个字典来保存执行登录的详细信息:

1. 右击 “Username or email” 字段,选择“查看元素”。我们将使用 “name” 属性为 “username” 的输入框的值。“username”将会是 key 值,我们的用户名/电子邮箱就是对应的 value 值(在其他的网站上这些 key 值可能是 “email”,“ user_name”,“ login”,等等)。

2. 右击 “Password” 字段,选择“查看元素”。在脚本中我们需要使用 “name” 属性为
“password” 的输入框的值。“password” 将是字典的 key 值,我们输入的密码将是对应的 value
值(在其他网站key值可能是 “userpassword”,“loginpassword”,“pwd”,等等)。

3. 在源代码页面中,查找一个名为 “csrfmiddlewaretoken” 的隐藏输入标签。“csrfmiddlewaretoken”
将是 key 值,而对应的 value 值将是这个隐藏的输入值(在其他网站上这个 value 值可能是一个名为 “csrftoken”,“ authenticationtoken” 的隐藏输入值)。列如:“”。

最后我们将会得到一个类似这样的字典:

Python

payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}

1
2
3
4
5

payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}

请记住,这是这个网站的一个具体案例。虽然这个登录表单很简单,但其他网站可能需要我们检查浏览器的请求日志,并找到登录步骤中应该使用的相关的 key 值和 value 值。

步骤2:执行登录网站

对于这个脚本,我们只需要导入如下内容:

Python

import requests
from lxml import html

1
2

import requests
from lxml import html

首先,我们要创建 session 对象。这个对象会允许我们保存所有的登录会话请求。

Python

session_requests = requests.session()

1

session_requests = requests.session()

第二,我们要从该网页上提取在登录时所使用的 csrf 标记。在这个例子中,我们使用的是 lxml 和 xpath 来提取,我们也可以使用正则表达式或者其他的一些方法来提取这些数据。

Python

login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)

tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

1
2
3
4
5

login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)

tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

**更多关于xpath 和lxml的信息可以在这里找到。

接下来,我们要执行登录阶段。在这一阶段,我们发送一个 POST 请求给登录的 url。我们使用前面步骤中创建的 payload 作为 data 。也可以为该请求使用一个标题并在该标题中给这个相同的 url 添加一个参照键。

Python

result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)

1
2
3
4
5

result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)

步骤三:爬取内容

现在,我们已经登录成功了,我们将从 bitbucket dashboard 页面上执行真正的爬取操作。

Python

url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)

1
2
3
4
5

url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)

为了测试以上内容,我们从 bitbucket dashboard 页面上爬取了项目列表。我们将再次使用
xpath 来查找目标元素,清除新行中的文本和空格并打印出结果。如果一切都运行 OK,输出结果应该是你 bitbucket 账户中的
buckets / project 列表。

Python

tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]

print bucket_names

1
2
3
4
5

tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]

print bucket_names

你也可以通过检查从每个请求返回的状态代码来验证这些请求结果。它不会总是能让你知道登录阶段是否是成功的,但是可以用来作为一个验证指标。

例如:

Python

result.ok # 会告诉我们最后一次请求是否成功
result.status_code # 会返回给我们最后一次请求的状态

1
2

result.ok # 会告诉我们最后一次请求是否成功
result.status_code # 会返回给我们最后一次请求的状态

就是这样。

阅读全文

与python爬取起点网相关的资料

热点内容
爱上北斗星男友在哪个app上看 浏览:413
主力散户派发源码 浏览:663
linux如何修复服务器时间 浏览:55
荣县优途网约车app叫什么 浏览:472
百姓网app截图是什么意思 浏览:222
php如何嵌入html 浏览:809
解压专家怎么传输 浏览:743
如何共享服务器的网络连接 浏览:132
程序员简易表白代码 浏览:166
什么是无线加密狗 浏览:62
国家反诈中心app为什么会弹出 浏览:67
cad压缩图打印 浏览:102
网页打开速度与服务器有什么关系 浏览:863
android开发技术文档 浏览:65
32单片机写程序 浏览:51
三星双清无命令 浏览:838
汉寿小程序源码 浏览:344
易助erp云服务器 浏览:533
修改本地账户管理员文件夹 浏览:419
python爬虫工程师招聘 浏览:285