Tôi là người mới đến Python. Đây là mã của tôi hoạt động trên Python 2.7.5
import urllib2
import sys
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
print data
Nhận được đánh dấu HTML như thế và nó hoạt động.
Những gì tôi muốn làm là, để có được giá trị từ thẻ
Data
0. cho người yêu cũ. Tôi cần giá trị dữ liệu từ ví dụ này:Data
Làm thế nào để làm nó?
Đã hỏi ngày 6 tháng 9 năm 2013 lúc 11:38Sep 6, 2013 at 11:38Sep 6, 2013 at 11:38
1
Bạn có thể sử dụng mô -đun phân tích cú pháp HTML như
Data
1:from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
Điều này tìm thấy một thẻ
Data
2 với Data
3. Sau đó, nó in nội dung của nó.Đã trả lời ngày 6 tháng 9 năm 2013 lúc 11:39Sep 6, 2013 at 11:39Sep 6, 2013 at 11:39
TerryaterryaTerryATerryA
56.9K11 Huy hiệu vàng117 Huy hiệu bạc137 Huy hiệu đồng11 gold badges117 silver badges137 bronze badges11 gold badges117 silver badges137 bronze badges
2
Sử dụng
Data
4:import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
>>> import lxml.html
>>> root = lxml.html.fromstring['Data']
>>> [font.text for font in root.cssselect['font.big']]
['Data']
Đã trả lời ngày 6 tháng 9 năm 2013 lúc 11:40Sep 6, 2013 at 11:40Sep 6, 2013 at 11:40
Falsetrufalsetrufalsetrufalsetru
343K57 Huy hiệu vàng683 Huy hiệu bạc606 Huy hiệu Đồng57 gold badges683 silver badges606 bronze badges57 gold badges683 silver badges606 bronze badges
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
ĐọcBeautifulsoup
Bàn luận
Approach:
- ĐọcBeautifulsoup
- Điều kiện tiên quyết: Đẹp
- Trong bài viết này, chúng tôi sẽ thảo luận về cách có thể được sử dụng để tìm một thẻ có giá trị thuộc tính đã cho trong tài liệu HTML.
- Nhập mô -đun.
- Dữ liệu phế liệu từ một trang web.
Phân tích chuỗi chuỗi được cạo đến HTML.find[attr_name=”value”]
Sử dụng hàm find [] để tìm thuộc tính và thẻ.find[attr_name=”value”]
In kết quả.
Python3
Cú pháp: & nbsp; tìm [attr_name = giá trị trực tuyến]
Dưới đây là một số triển khai của phương pháp trên:
Ví dụ 1: & nbsp;Output:
Data
8Data
5 Data
6Data
7 Data
8Data
9from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0 import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
3import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
41from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0 from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
3from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
4from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
5Python3
Cú pháp: & nbsp; tìm [attr_name = giá trị trực tuyến]
Dưới đây là một số triển khai của phương pháp trên:Output:
Data
0Data
19from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
09from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0Python3
Cú pháp: & nbsp; tìm [attr_name = giá trị trực tuyến]
Dưới đây là một số triển khai của phương pháp trên:Output:
from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
3Ví dụ 1: & nbsp;
Data
5 Data
6Data
7 Data
8Data
9from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0 import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
3import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
4from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
4Data
91from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0 from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
3from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
4from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
5from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
5Data
5 Data
6Data
7 Data
8import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
3import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
4Data
9from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0Data
5 Data
6Data
7 Data
8Data
9from bs4 import BeautifulSoup as BS
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
soup = BS[data]
print soup.find['font', {'class':'big'}].text
0import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
3import urllib2
import lxml.html
url ="mydomain.com"
usock = urllib2.urlopen[url]
data = usock.read[]
usock.close[]
for font in lxml.html.fromstring[data].cssselect['font.big']:
print font.text
4Vì vậy, tôi có một trang chai trong Pythonanywhere đang hiển thị một danh sách các mục trong cơ sở dữ liệu sqlite của tôi. Trong mỗi mục có thể thay đổi, tôi muốn cung cấp cho trang khác thông tin liên quan từ cơ sở dữ liệu dựa trên tên của mục danh sách đã được nhấp.
Vì vậy, trong trường hợp này, tôi muốn lấy giá trị của phần tử này và sử dụng biến trong truy vấn SQLite của tôi thông qua Python.
Tuy nhiên, theo hiểu biết của tôi, giá trị của một phần tử HTML không thể truy xuất. Tôi đang tự hỏi nếu có ai biết cách lấy giá trị năng động này với Python.
Trong bài viết này, chúng tôi chỉ ra cách tìm các phần tử HTML của một lớp nhất định hoặc một ID nhất định trong Python bằng cách sử dụng đẹp.
Vì vậy, hãy nói rằng chúng ta có một đoạn có thuộc tính lớp bằng với "TopSection".
Làm thế nào chúng ta có thể nhận được tất cả các thẻ đoạn văn có một lớp bằng với "TopSection"
Và cách chúng tôi làm điều này là bằng cách sử dụng một từ điển có khóa lớp và giá trị bằng "Top".
Điều này được hiển thị trong mã dưới đây.
Vì vậy, chúng ta hãy xem qua mã này ngay bây giờ.
Vì vậy, chúng tôi nhập mô -đun yêu cầu.
Sau đó chúng tôi nhập đẹp từ BS4.
Sau đó, chúng tôi tạo một biến có tên là getPage và đặt nó bằng yêu cầu.get ['//www.learningaboutelectronics.com']
Sau đó, chúng tôi tạo phiên bản đẹp của trang này và phân tích các yếu tố HTML của tài liệu này.
Sau đó, chúng tôi tạo một biến có tên là All_Class_Topsection. Điều này tìm thấy tất cả các yếu tố P [các phần tử đoạn] có thuộc tính lớp bằng với "TopSection"
Sau đó, chúng tôi tạo một vòng lặp lặp qua tất cả các thẻ đoạn của lớp "TopSection" và in từng thẻ.
Và ID là điều chính xác tương tự.
Giả sử chúng ta có các đoạn văn có ID bằng "para1"
Mã để in ra tất cả các thẻ đoạn văn bằng ID "para1" được hiển thị bên dưới.soup. to select it. The caveat is that it will only select the first HTML element with that tag. This is a simple example.
Vì vậy, mã này tái hiện và in ra tất cả các yếu tố đoạn văn bằng ID "para1"
Python: Tạo chuỗi HTML với các thẻ xung quanh [các] từ....
Giải pháp mẫu:-.
Mã Python: def add_tags [tag, word]: trả về " % s" % [tag, word, tag] in [add_tags ['i', 'python']]] ...
Flowchart:.
Trình chỉnh sửa mã Python: ....
Có một cách khác để giải quyết giải pháp này ?.